/etc/shadowに対する権限

/etc/shadowに対する権限

私はRed Hat Enterprise Linuxを使用しています。詳細は次のとおりです。

uname -a
3.10.0-327.22.2.e17.x86_64 

シャドウファイルの権限を確認すると、次のようになります。

ls -l /etc/shadow
----------. 1 root root 1467 /etc/shadow

これらの権限を見て驚きました。私の考えでは、 "passwd"はこのファイルを更新するために所有者から少なくとも読み取り/書き込み権限が必要だと思います。何が起こっているのか知っていますか?

答え1

これは正常です。

passwdsuidビットは設定されたルートとして実行されるため、読み取り/書き込み権限は必要ありません。

# ls -l /etc/shadow /usr/bin/passwd
---------- 1 root root   798 Jul 21 21:15 /etc/shadow
-rwsr-xr-x 1 root root 26688 Sep 10  2015 /usr/bin/passwd
#

より多くの情報が必要な場合は訪問してくださいStackexchange "'passwd'コマンドはどのようにrootユーザー権限を取得しますか?"欲しいなら

答え2

権限ビットは通常、適切な機能で実行されるプロセス(たとえば、root権限で実行されている場合)には適用されません。もっと正確な要約ありがとうHauke Larkinによる投稿:

(およびおよびroot他のユーザー/プロセス)は常に実行できると仮定します。CAP_DAC_OVERRIDECAP_DAC_READ_SEARCHすべてLSM(SELinux、AppArmorなど)がそうするのを妨げない限り。

〜のようにスティーブすでに指摘passwd同様のプログラムにはsuidビットが設定されているか(誰でもroot権限で実行できます)、rootでのみ使用されるため、権限/etc/shadowは重要ではありません。

関連情報