私のUbuntu 9.10システムには、shadow
システムグループがあります。このグループに割り当てられているユーザーはいないようです。このグループに属していることがわかるファイルは、/etc/shadow
と/etc/gshadow
だけです。
これらのファイルの目的は、他の理由でpasswd
に引き続きアクセスする可能性のある通常のユーザーの手の届かないところに、パスワードを個別に保存することであることを認識しています。
しかし、shadow
groupの目的は何ですか?
これに興味があるのは、nsswitch.conf
を別の場所に格納するように構成することを考えており、shadow
グループの認証情報を使用して実際にshadow
データベースにアクセスしようとしているのかどうかを知りたいからです。
$ find /usr/bin/ -group shadow | xargs ls -l
-rwxr-sr-x 1 root shadow 45384 2008-12-08 03:13 /usr/bin/chage
-rwxr-sr-x 1 root shadow 21424 2008-12-08 03:13 /usr/bin/expiry
ユーザーがいない可能性がありますが、そのファイルを読み取ることができる必要があるソフトウェアは確かにあります。 passwd
自体はsetuidrootであるため、これは必要ないことに注意してください。
いいえ、shadow
グループにはユーザーを含めないでください。ただし、このグループはシャドウパスワードが機能するために必要です。
ここでのアイデアは、rootとrootのみがファイルにアクセスできるようにすることだと思います。ルートグループに追加のユーザーがいる可能性があります。そのため、別のユーザーグループが作成されました。
私のUbuntuマシンには、シャドウに設定されたコマンドがいくつかあります。これにより、2つのシャドウファイル(シャドウにグループ化され、グループで読み取り可能のみ)を読み取る特権のみが正確に提供されます。
-rwxr-sr-x 1 root shadow 35584 Mar 16 11:45 /sbin/pam_extrausers_chkpwd
-rwxr-sr-x 1 root shadow 35544 Mar 16 11:45 /sbin/unix_chkpwd
-rwxr-sr-x 1 root shadow 59224 Jul 20 2015 /usr/bin/chage
-rwxr-sr-x 1 root shadow 23424 Jul 20 2015 /usr/bin/expiry
-rw-r----- 1 root shadow 1043 Apr 2 00:27 /etc/gshadow
-rw-r----- 1 root shadow 1732 Apr 2 00:27 /etc/shadow
onlyがシャドウファイルのいずれかを読み取ることができる必要があるサービスがある場合は、それをシャドウに設定グループIDにするだけです。これは、上記で提案したものとは逆です。グループルートに他の人がたくさんいるわけではありません。慣例(およびファイルのアクセス許可)により、このグループはこれら2つのリソースへのアクセスのみを許可します。