概要
- Debian における /run/lockディレクトリ のパーミッション変更問題
- systemd のアップデートが 既存ソフトウェア に影響
- Debian Policy と FHS (Filesystem Hierarchy Standard)の遵守義務
- Debian Technical Committee(TC) による介入と最終決定
- 今後の 移行計画 と パッケージ管理者の対応
Debianにおける /run/lock ディレクトリ問題
- Debianパッケージ管理者 はソフトウェア設定に裁量権を持つが、 Debian Policy に準拠する義務
- systemd v258 で /run/lock のパーミッションが rootのみ書き込み可 に変更
- これにより UUCP や cu など、 /run/lock を利用するソフトが動作不能
- /var/lock は /run/lock へのシンボリックリンクであり、 FHS に準拠
- systemd-tmpfiles が起動時に /run ディレクトリをtmpfsとして作成
FHSとその現状
- FHS(Filesystem Hierarchy Standard) は /var/lock の用途を規定
- FHS 3.0 以降、ほぼ放置状態で最新化が進んでいない
- systemd は独自に Linux Userspace API (UAPI) Group へファイル階層仕様を移譲
- Fedora もFHSの後継仕様を模索中
systemd側の主張とDebian側の反応
- systemd 開発者は /run/lockの全ユーザー書き込み可 を セキュリティリスク と判断
- 任意プロセスが /run を埋め尽くし DoS攻撃 の温床となる可能性
- systemd は「 下流ディストリビューションが必要なら独自対応を」と主張
- Debian Policy はあくまで FHS準拠 を要求
- Debianパッケージ管理者 がsystemdの変更によるバグを報告し議論が発生
Debian Technical Committee(TC)の介入
- systemdバグ が WONTFIX でクローズされたため、 TC が対応を協議
- Debian Policy に従い、 systemdパッケージが/var/lockを適切なパーミッションで提供 するよう要求
- TC投票 にて「 影響を受けるソフトウェアの移行が完了するまでsystemd側の変更を維持」が採択
- これにより Debian では従来通り /var/lock が利用可能となる
今後の課題と対応
- UUCPスタイルのロック運用 は時代遅れだが、 Debian では現状維持が決定
- Fedora は lockdev パッチを適用し、 /run/lock の全ユーザー書き込みを廃止
- Debianでも Fedora方式の導入 が検討可能だが、他パッケージへの影響は未解決
- パッケージ管理者間の合意形成 が重要課題
サブスクリプションへのお願い
- LWN.net の継続的な運営には サブスクリプション が不可欠
- 継続的な情報提供のため、 購読の検討 を推奨