web-dev-qa-db-ja.com

「シャドウ」グループは何に使用されますか?

私のUbuntu 9.10システムには、shadowシステムグループがあります。このグループに割り当てられているユーザーはいないようです。このグループに属していることがわかるファイルは、/etc/shadow/etc/gshadowだけです。

これらのファイルの目的は、他の理由でpasswdに引き続きアクセスする可能性のある通常のユーザーの手の届かないところに、パスワードを個別に保存することであることを認識しています。

しかし、shadowgroupの目的は何ですか?

これに興味があるのは、nsswitch.confを別の場所に格納するように構成することを考えており、shadowグループの認証情報を使用して実際にshadowデータベースにアクセスしようとしているのかどうかを知りたいからです。

5
Shtééf
$ 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であるため、これは必要ないことに注意してください。

4
Phil Miller

いいえ、shadowグループにはユーザーを含めないでください。ただし、このグループはシャドウパスワードが機能するために必要です。

ここでのアイデアは、rootとrootのみがファイルにアクセスできるようにすることだと思います。ルートグループに追加のユーザーがいる可能性があります。そのため、別のユーザーグループが作成されました。

2
solefald

私の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つのリソースへのアクセスのみを許可します。

2
Alan Robertson