POSIXアクセスコントロールリストを使用すると、システム管理者として、通常のユーザーグループとその他のファイルシステムのアクセス許可をオーバーライドすることにより、重大なことをほとんど中断することなく、ユーザーを最悪の無知から保護できます。 。
たとえば、WebコンテンツはでApacheにアクセスできる必要があるため、たとえば(fi)ホームディレクトリを世界中からアクセスできるようにする必要がある場合に特に役立ちます~/public_html/
。(ACLを使用すると、逆の操作を行うことができますが、すべてのアクセスを削除し、Apacheユーザーに対して特定の有効なACLを使用します。)
はい、知識のあるユーザーは再びそれらを削除/上書きできますが、それはありそうもないほど一般的ではありませんchmod -R 777 ~/
。
acl
マウントオプションでファイルシステムをマウントする必要があります:
mount -o remount,acl /home
多くのディストリビューションでは、デフォルトではユーザーグループが作成され、各ユーザーにはプライマリグループがあります。すべてのユーザーを想像できない名前のセカンダリグループに設定しましたusers
。
ACLを使用すると、他のユーザーがホームディレクトリにアクセスできないようにするのは簡単です。
前:
chmod 0777 /home/user*
ls -l /home/user*
drwxrwxrwx. 2 user1 user1 4096 Jul 11 15:40 user1
drwxrwxrwx. 2 user2 user2 4096 Jul 11 15:24 user2
次に、users
グループのメンバーの有効なディレクトリアクセス許可を0
読み取り、書き込み、またはアクセスなしに設定します。
setfacl setfacl -m g:users:0 /home/user*
ls -l
drwxrwxrwx+ 2 user1 user1 4096 Jul 11 15:40 user1
drwxrwxrwx+ 2 user2 user2 4096 Jul 11 15:24 user2
+
看板がACLの設定の存在を示しています。そして、次のgetfacl
ことを確認できます。
getfacl /home/user1
getfacl: Removing leading '/' from absolute path names
# file: home/user1
# owner: user1
# group: user1
user::rwx
group::rwx
group:users:---
mask::rwx
other::rwx
group:users:---
グループは、効果的に他のビーイングのための定期的なアクセス許可にもかかわらず、何のアクセス権を持たないことを示しother::rwx
そしてuser1としてテストします:
[user1@access ~]$ ls -la /home/user2
ls: cannot open directory /home/user2: Permission denied
共有システムでの2番目の一般的な解決策は、オートマウンタがホームディレクトリを必要に応じてマウントし、シェルアクセス専用のサーバーを使用することです。これは決して簡単なことではありませんが、通常、同時にログインするのは少数のユーザーのみです。つまり、それらのユーザーのホームディレクトリのみが表示され、アクセス可能です。
chmod files 0777
が厳密に必要かどうか、つまり、だれでも他の人のファイルを読むことができるという症状ではなく、問題の根本原因に対処するかどうかを実際に検討します。多くの場合、すべてのアクセスを許可するという推奨事項は、サポートコールを回避するための安価な方法、またはアクセス許可を正しく設定できる技術的な能力の欠如にすぎません。0777
要求されたときにファイルを設定したり、アプリケーションに完全なルートアクセスを許可したりする必要はほとんどありませんでした。ユーザーやベンダーの教育は、ここで大いに役立ちます。