/etc/shadow
の権限が000に設定されていない場合にアラートを生成する自動ベースラインチェックがあります。
これらのアラートを受け取ったスタッフは、000の正気に疑問を抱き始めました。なぜなら、rootは好きな場所で読み書きできるからです(すべてのファイルは自動的にrootに対して少なくとも600です)が、実行権限が設定されていないとファイルを実行できません(いいえルートの自動700ファイル権限)。
/etc/shadow
権限を000に設定することは、いくつかのベースラインにあります。公式のRed Hat GitHubリポジトリにあるAnsibleプレイブック(PCI DSS、CJIS、NIST、CCE用)。
/etc/shadow
が000であるべき理由の背後にあるOriginのストーリーはありますか。一見機能的に同じ600ですか?それとも、rootユーザーに対するLinuxの制限/許容度についての私の想定は間違っていますか?
/etc/shadow
パーミッションを000に設定する背後にある考え方は、rootとして実行されている場合でも、DAC_OVERRIDE
capability 。 Fedora 12およびRHEL 6以降、FedoraベースのシステムはDAC_OVERRIDE
なしでデーモンを実行しますが、DAC_OVERRIDE
を管理者ログインセッションに付与します(変更が管理者から見えないようにします)。
詳細は 低プロセス機能 を参照してください。
これは、600と000の権限が機能的に同一ではないという事実に依存しています。600はファイル所有者に読み取り/書き込みを許可しますが、000はDAC_OVERRIDE
機能を持つプロセスへのアクセスのみを許可します。従来、rootとして実行すると常にDAC_OVERRIDE
が付与されていましたが、そうである必要はありません。
(SELinuxを使用してルートの機能を制限することもできますが、これはここでは関係ありません。/etc/shadow
には独自のSELinuxコンテキストがあり、追加のアクセス制御を提供します。)