ユーザーがホームディレクトリの権限を変更するのを防ぐ方法は?

ユーザーがホームディレクトリの権限を変更するのを防ぐ方法は?

ユーザーsmithのホームディレクトリに次の権限がある場合:

$ ls -l /home/staff
drwxr-x---   51 smith    staff       4096 Sep 18 09:08 smith/

ホームディレクトリの権限をたとえば755に変更することを何とか防ぐことはできますか?

答え1

1 つの方法は、ユーザーごとのグループ (つまり、ユーザーごとに 1 つのグループ) を使用し、ホーム ディレクトリ権限を root:smith、モード 0770 に設定することです。

もう一つの(もう少しハッキング的な)方法はスクリプトを書くことです。 /home(/rootではない)の下にあるすべてのホームディレクトリを確認するスクリプトを作成し(setpwent()/getpwent()を介してインポート)、それを作成すると違いについて警告します。その場で存在するか、権限を変更します。

私は過去にマルチユーザー環境で後者を直接実行し、長年働いてきました。

答え2

これは、問題のオペレーティングシステムとファイルシステムがNTFSおよびZFSで使用され、NFSv4で標準化されたACL標準をサポートしている場合にのみ可能です。

したがって、必要な操作を実行できるかどうかは、オペレーティングシステムとファイルシステムによって異なります。

従来の UNIX ルールは、ディレクトリのユーザー所有権もアクセスモードの変更を許可することです。 ACLを使用すると、ユーザーは自分のディレクトリのACLを変更する機能を拒否できます。

答え3

これにより、15秒ごとに権限が再適用されます。

watch -n15 "chmod 0700 *"

または、1分ごとに権限を再適用するcronjobを作成します。

関連情報