
Web サーバーのユーザー (nginx) に /etc/shadow ファイルへの読み取りアクセス権を与えたいのですが、これを行うための手順を確認したいと思います。使用しているシステムは CentOS 7 です。
- まず、shadow というグループを作成しました。
groupadd shadow
- 次に、Web サーバー ユーザー (nginx) をグループ shadow に追加しました。
usermod -aG shadow nginx
- 次に、所有者を root に変更し、ファイル グループの所有者をグループ shadow に変更しました。
chown root:shadow /etc/shadow
- 次に、shadow グループ内のすべてのユーザーに /etc/shadow ファイルの読み取り権限を許可しました。
chmod g+r /etc/shadow
これらの手順を実行した後ls -l /etc/shadow
、次の出力が表示されます。
----r-----. 1 ルート シャドウ 1390 8月 30日 12:51 /etc/shadow
私が実行しているこれらの手順は正しいでしょうか? お知らせください。必要に応じて追加情報を提供できます。
答え1
このような重要なファイルの所有者グループを変更すると、いくつかの機能が壊れる可能性があり、危険な。
これを実現するための適切な安全な方法は、POSIX ACL を使用することです。
setfacl -m u:special_user:r /etc/shadow
ここでのもう一つの問題は、あなたがこの権利を与えたことですエンギンクス/etc/shadow
、Web サーバーです。これは、何らかの Web アプリケーションを実行するものと思われます。Webアプリケーションから直接アクセスするのは非常に悪い考えです。
これは逆効果のように思えるかもしれないが、これはすべての本格的なシステムが行う方法である。プライベートセキュアプロキシサービスこれはすべてのセキュリティ チェックを実行し、Web フロントエンドのみがこのプロキシ サービスと通信して機密データにアクセスしたり、その他の機密事項を実行したりできます。たとえば、Proxmox VE は次のように構築されています。危険なことを実行する pvedaemon があり、pveproxy (Web サーバー) は、そのようなことを行う必要がある場合にのみ pvedaemon と通信します。
3 番目の問題は、このファイルにアクセスすることです。何をするつもりでしょうか? このファイルは PAM スイートの一部です。システム認証の一部が変更されてシャドウ ファイルを使用しないようにしたり、移動したりした場合はどうなるでしょうか? これらすべての作業を実行する PAM ライブラリ コールを使用する必要があります。
答え2
これは次の出力のようです
chmod g=r /etc/shadow
そしてそうではない
chmod g+r /etc/shadow
つまり、加算記号の代わりに誤って等号を使用したようです。
編集:
システムで再度確認したところ、/etc/shadow
ファイルの権限は次のようになっています。
`----------. 1 root root 1183 20 Aug 11.53 /etc/shadow`
したがって、権限は期待どおりであるように見えます。