LinuCレベル1 ファイル・ディレクトリの操作と管理 問30
ファイル・ディレクトリの操作と管理/ファイルの所有者とパーミッション複数の利用者が作業ファイルを置く共有ディレクトリ /data/drop を作成した。/tmp と同様に、どの利用者もファイルを作成できる一方で、他人が作成したファイルは削除や名前の変更ができないようにしたい。8進数で指定するコマンドとして適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル1の出題範囲「ファイル・ディレクトリの操作と管理」に対応。実際の試験問題ではありません)
- Achmod 1777 /data/drop
- Bchmod 2777 /data/drop
- Cchmod 4777 /data/drop
- Dchmod 0777 /data/drop
正解:A
解説
8進数のパーミッションを4桁で書くと、先頭の桁が特殊なパーミッションを表し、SUIDが4、SGIDが2、スティッキービットが1です。ディレクトリにスティッキービットを設定すると、書き込み権があっても、ファイルの削除や名前の変更はそのファイルの所有者(とディレクトリの所有者、root)に限られます。/tmp は通常 1777(ls -l では drwxrwxrwt)に設定されています。chmod +t /data/drop のようにシンボリックモードで付けることもできます。
選択肢ごとの解説
- A正しい。先頭の1がスティッキービットで、全員に書き込みを許しつつ、他人のファイルの削除や名前の変更を防げます。
- B誤り。先頭の2はSGIDで、ディレクトリ内に作成したファイルのグループをディレクトリと同じにする設定です。他人のファイルの削除は防げません。
- C誤り。先頭の4はSUIDで、実行ファイルを所有者の権限で動作させるための設定です。ディレクトリ内のファイルの削除を制限する働きはありません。
- D誤り。0777は特殊なパーミッションを付けない指定で、書き込み権を持つ誰もが他人のファイルを削除できる状態になります。