過去問ドリル

LinuCレベル3 セキュリティスペシャリスト アクセスおよび権限制御の強化 問31

アクセスおよび権限制御の強化/Linux Access Control Lists によるアクセス制御

ディレクトリ /srv/data を rsync でバックアップ先 /backup/data に同期しており、/srv/data 配下のファイルにはアクセスACLが設定されている。バックアップ先にもACLを正確に再現したい場合のコマンドとして適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル3 セキュリティスペシャリストの出題範囲「アクセスおよび権限制御の強化」に対応。実際の試験問題ではありません)

正解:B

解説

rsync の -A(--acls)オプションを指定するとACLを保存して転送できます。-a はアーカイブモード(-rlptgoD の組み合わせ)で、パーミッション・所有者・タイムスタンプ等を保持しますが、ACLは対象外です。-aA のように -A を加えることで、アーカイブモードに加えてACLも保存できます。Linux の rsync には --extended-attributes というオプションは存在せず(macOS/BSD 向けの xattr 保存は -X で行う)、--preserve=acl という書式も存在しません。

選択肢ごとの解説

  • A誤り。-r(--recursive)はサブディレクトリを再帰的にコピーするだけで、ACLは保存しない。また -a を使わないとパーミッションや所有者も保存されない。
  • B正しい。-a はアーカイブモード、-A(--acls)はACLを保存するオプションである。両方を指定することでファイルのメタデータとACLをあわせて転送できる。
  • C誤り。Linux の rsync に --extended-attributes というオプションは存在しない。Linux で拡張属性(SELinux コンテキスト等)を保存するには -X(--xattrs)を使い、ACL保存には -A を使う。
  • D誤り。rsync に --preserve=acl という形式のオプションは存在しない。ACL保存の正しいオプションは -A(--acls)である。
LinuCレベル3 セキュリティスペシャリストの問題を演習モードで解く