過去問ドリル

LinuCレベル1 ファイル・ディレクトリの操作と管理 問18

ファイル・ディレクトリの操作と管理/ファイルの所有者とパーミッション

グループで共有するディレクトリ /share に対して chmod g+s /share を実行した。この設定の効果として適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル1の出題範囲「ファイル・ディレクトリの操作と管理」に対応。実際の試験問題ではありません)

正解:D

解説

chmod g+s は、グループのSGIDビットを設定する操作です。ディレクトリにSGIDを設定すると、その中で新しく作成されたファイルやサブディレクトリのグループが、作成したユーザーの基本グループではなく、そのディレクトリのグループに設定されます。このため、複数のユーザーで共有するディレクトリでグループをそろえたいときに使われます。ls -l では、グループの実行権の位置に s(実行権が無い場合は S)と表示されます。なお実行ファイルにSGIDを設定した場合は、ファイルのグループの権限で実行される、という別の意味になります。

選択肢ごとの解説

  • A誤り。所有者以外による削除や名前変更を禁止するのはスティッキービット(chmod +t)の効果です。
  • B誤り。実行したユーザーではなくファイル所有者の権限で動作させるのは、実行ファイルに設定するSUID(chmod u+s)の効果です。
  • C誤り。SGIDはグループの読み書きの権限を制限するものではありません。読み取り専用にするにはグループの書き込み権を外します。
  • D正しい。ディレクトリにSGIDを設定すると、その中で作成されたファイルはディレクトリと同じグループの所有になります。
LinuCレベル1の問題を演習モードで解く