- blogs:
- cles::blog
Ubuntu が contains a file system with errors で起動しなくなった場合の対処法
ubuntu linux使っている Ubuntu の VM が以下のようなファイルシステムエラーを吐いて通常起動しなくなってしまったので、対処方法をメモ。
勝手にシングルユーザーモードになっているようなので、以下のように fsck
による /dev/sda1
の修復をかけて無事に修復することができました。
実際にサーバのトラブルーシューティングができる練習環境 SadServers
systemmanagemant networking linuxSadServers という実際に Linux サーバのトラブルーシューティングを体験できる演習環境を見つけたのでメモ。
実際にサーバ運用をしたことがあれば、Easy や Medium あたりは楽しんで挑戦できると思いますが、Hard はかなり難しいです。
SadServers - Troubleshooting Linux Servers
Troubleshoot and make a sad server happy!
"Like LeetCode for Linux"
Capture The Flag challenges. Train and prove your debugging skills.
Practice for your next SRE/DevOps interview.
Get a full remote Linux server with a problem and fix it.
この演習環境のアーキテクチャについては GitHub - fduran/sadservers: SadServers.com Public で解説されていますが、1 回ごとに EC2 でインスタンスが立ち上がるようになっているようです。
Core Utilities 9.1 がリリースに
linux cliLinux などの mv や cp などの基本的なコマンドの実装である GNU Coreutils のバージョン 9.1 がリリースされていたのでメモ。
こんなツール、まだバージョンアップする余地があるの?という感じもしますが、現在でもアップデートされ続けているんですよね。
基本コマンドをカバーするGNU Core Utilitiesがバージョンアップ | TECH+
ddがFreeBSDと同じ動作するエイリアスのサポートや、dircolorsが環境変数LS_COLORSのカラーコードに従って表示するオプション、環境変数COLORTERMを参照するようになった。改良点はcpやmv、installを使用してディレクトリをコピーする際は、競合状態を回避するためにopenat()システムコールを使用。printfによるマルチバイト文字の数値表示をサポートした点が目立つ。
意図的にバグコミットして、大学がプロジェクトから ban される
dishonesty linux softwareengineeringミネソタ大学の博士課程の学生が脆弱性に関する実践的な研究をするために、Linux カーネルに Use After Free のバグを埋め込んだパッチを送って論文を書いた件が、大きな問題になっていたのでメモ。
ソフトウェア関連の研究に携わっている者として、人ごとではない深刻な事態だと受け止めています。研究をしていると、やってみたいという衝動に駆られるけれども倫理上の理由で実行できないということはよくあります。
問題の論文(On the Feasibility of Stealthily Introducing Vulnerabilities in Open-Source Software via Hypocrite Commits)についてはすでにwithdraw(取り下げ)になっているようです。
大学においてはヒト対象実験については倫理指針が定められていて、事前審査を受けなければ実施することができませんが、ソフトウェアの世界にも倫理審査が必要な時代が来てしまうのかもしれません。以下のメールで述べられている Linux コミュニティの意見は厳しいですが至極真っ当な意見だと思います。
Re: [PATCH] SUNRPC: Add a check for gss_release_msg - Greg KH
Our community welcomes developers who wish to help and enhance Linux. That is NOT what you are attempting to do here, so please do not try to frame it that way.
Our community does not appreciate being experimented on, and being"tested" by submitting known patches that are either do nothing on purpose, or introduce bugs on purpose.
If you wish to do work like this, I suggest you find a different community to run your experiments on, you are not welcome here.
Because of this, I will now have to ban all future contributions from your University and rip out your previous contributions, as they were obviously submitted in bad-faith with the intent to cause problems.
† 参考
- Linuxカーネルに意図的にバグを混入したとして大学にコミュニティ出禁措置 - GIGAZINE
- Linux bans University of Minnesota for sending buggy patches in the name of research [Update] - Neowin
高負荷サーバでは net.core.somaxconn の設定に注意
linux tuning networking外部から多数のコネクションを受け付けるサーバが遅いと思ったら、コネクションを取りこぼしていました。
具体的には net.core.somaxconn
の値が Linux 5.4 以前はデフォルトが 128 とかなり小さな値で、これがボトルネックになってしまっていました。このカーネルパラーメーターは TCP ソケットの listen() のバックログのキューの深さを表しているので、多数の接続を受け付ける場合にはこれを大きくしておく必要があります。
現在の設定値を確認するのはこんな感じでできます。
そして、値の変更はこんな感じでできます。
プロセスが起動するときに net.core.somaxconn
の値を読み込んでいることがあるので、値の反映後に httpd などの daemon も再起動してやる必要もあります。
† 参考
/proc/sys/net/ipv4/* Variables
somaxconn - INTEGER
Limit of socket listen() backlog, known in userspace as SOMAXCONN.
Defaults to 4096. (Was 128 before linux-5.4)
See also tcp_max_syn_backlog for additional tuning for TCP sockets.
date -d "1 month 1 day ago" とやると危ない!
linux cli humanerrordate コマンドは -d オプションを使うと、たとえば今から 30 日前のような相対的な日付を簡単に得ることができます。
これについては常識みたいなものですが、今更ながら思わぬハマりポイントを見つけてしまったのでメモ。
まず ago の挙動について、coreutils のマニュアルを確認すると、-1 を掛ける(符号を反転させる)という意味だということが分かります。
問題は、実はこの効力が unit ごとであるということです。
つまり1ヶ月と1日前という場合にうっかり -d "1 month 1 day ago" と書いてしまうと、1ヶ月後の1日前になってしまうことになります。
複数の単位を組み合わせる場合には ago は使わずに符号を書いた方が誤解がないですね。
† 参考
Relative items in date strings (GNU Coreutils)
Following a relative item by the string ‘ago’ is equivalent to preceding the unit by a multiplier with value -1.
LD_PRELOAD で標準ライブラリの関数の挙動を変更する
c linux softwareengineeringLinux で LD_PRELOAD
環境変数と共有ライブラリを使うと、標準ライブラリの関数の前後に処理を挟んだり、処理を上書きしたりする簡易アスペクト指向のようなことができます。
† 簡単なターゲットプログラム
今回ターゲットにする関数はみんな大好き printf()
。
今日はこんな感じのプログラムを用意しました。
helloworld.c
これをコンパイルして実行すると、こんな感じの実行結果になります。
今回の目的はこの helloworld をリコンパイルせずに printf()
の挙動を変更することにあります。
BootHole(CVE-2020-10713)
linux cveLinux のブートローダー GRUB2*1 に BootHole というセキュリティホールが見つかっていたのでメモ。今回のようなブートローダーの問題は UEFI も絡んできますし、失敗すると OS が起動できなくなるので、いろいろと対策がめんどくさそうですね。
JVNVU#98487886: GRUB2 にバッファオーバーフローの脆弱性
GRUB2 は OS を起動するためのブートローダです。細工された設定ファイル (grub.cfg) を読み込ませることでヒープベースのバッファオーバーフローが引き起こされ、OS の起動前に任意のコードを実行される可能性があります。
なお、Secure Boot を利用している場合においても本脆弱性の影響を受けます。
† 参考
- CVE - CVE-2020-10713
- CVE-2020-10713
- There’s a Hole in the Boot - Eclypsium
- 1825243 – (CVE-2020-10713) CVE-2020-10713 grub2: Crafted grub.cfg file can lead to arbitrary code execution during boot process
- ブートホールの脆弱性 - GRUB 2 ブートローダー - CVE-2020-10713 - Red Hat Customer Portal
- grub2-2.02-87.el8_2 | Build Info | MBOX Koji
wsdd で Samba サーバを Explorer に表示する
windows10 linuxセキュリティ問題で SMBv1 は最近の Windows ではデフォルトで無効化されています。
特にそれで困ることはないと思っていたのですが、NetBIOS discovery が無効化されることによって Explorer のネットワーク上に自動的にファイルサーバが表示されないという問題が生じるようです。最近、ネットワークに NAS などが表示されなくなったなぁと思っていましたが、これは F/W 等の設定ではなくて NetBIOS discovery だったようです。
これを NetBIOS に頼らずに解決するのが以下の wsdd というソフトウェア。
設定もあまり難しくないですし、CentOS などでは dnf install wsdd でインストールできます。
christgau/wsdd: A Web Service Discovery host daemon.
wsdd implements a Web Service Discovery host daemon. This enables (Samba) hosts, like your local NAS device, to be found by Web Service Discovery Clients like Windows.
wsdd の WSD って Web Service Discovery なんですね。
WS-Discovery って SOAP とかウェブサービスという言葉が流行った 2000 年代初め頃は良く目にしましたが、久しぶりに見た気がします。
Linuxでも「ブラックリスト」「スレーブ」などの用語を変更へ
言葉 english linux最近の BLM 運動で人種差別的な用語を撤廃する動きが続いています。
これを受けて Linux でもブラックリストやスレーブなどの用語を変更することになったようです。
もともと僕は言葉狩りが好きではないですし、ホワイトリスト・ブラックリストはそもそも人種と関係ないと思うんですよね。
なにより過去のドキュメントは消えないわけで、単なるパフォーマンスとしては混乱を招くだけだと思うのですが。
Linuxでも「ブラックリスト」「スレーブ」などの用語を変更へ - CNET Japan
Linus Torvalds氏は米国時間7月10日、Linuxのカーネルコードやドキュメントでの新しい、よりインクルーシブ(包括的)な用語の使用を承認した。
Linux開発者らは今後、master/slave(マスター/スレーブ)やblacklist/whitelist(ブラックリスト/ホワイトリスト)の代わりに新たな用語を使用するよう求められる。
- ゆうちょ銀行届出印廃止
- ゆうちょの副印鑑が廃止されてた
- ttclock windows11
- ElevenClock で Windows11 のタスクバーの時計に秒を表示させる
- pressurepaj
- Emscripten を CentOS 7 で試す
- シャープの空気清浄加湿器の... (1)
- SMARTEK デジタル温湿度計 (1)
2 . Word で数式がグレーアウトされていて挿入できないときは(15313)
3 . awk で指定した n カラム目以降を出力する(11813)
4 . アーロンチェアのポスチャーフィットを修理(11637)
5 . Windows 10 で勝手にログアウトされないようにする(9814)
- Academic[574]
- Book[155]
- Diary[522]
- Disaster[101]
- Foodlogue[1425]
- Game[284]
- Goods[805]
- Healthcare[341]
- Hobby[32]
- IT[1195]
- Military[343]
- misc.[1271]
- Mobile[510]
- Music[38]
- Neta[106]
- News[94]
- Photo[391]
- RealEstate[120]
- Security[1178]
- SEO Contest[36]
- Software[634]
- Tips[1886]
- Travelogue[1238]
- Web[675]
- Work[193]