chmod
Linuxでは、権限管理として最初の数字を使用する概念を理解しています。ユーザー、二つ目はグループ3番目は他のユーザー上記のようにこの回答存在するUNIXの権限とファイルタイプの理解。
admin
、、、usera
5人のユーザーを持つLinuxシステムがあるとしますuserb
。デフォルトでは、ユーザーは内部のすべてのファイルに対する実行権限を持っているため、これらのファイルは75個あるため、これらのユーザーはシステムのコマンドラインを使用して内部のファイルを実行できます。userc
guest
usera
userb
userc
/usr/bin
5許可する。これまでは問題ありません。ただし、ユーザーがguest
そのフォルダからファイルを実行できないようにしたいと思います/usr/bin
。そのフォルダ内のすべてのファイルに対する権限を750のように変更すると、それを行うことができることがわかりますが、chmod
そうすると、ユーザーの権限がめちゃくちゃになりますusera
。また、ファイルの実行も禁止されます。userb
userc
私のコンピュータ上のすべてのファイルは/usr/bin
そのグループに属しているため、root
1つを作成し、すべてのnewgroup
ファイルのグループをこのグループに変更して追加できることがわかります。ただし、これはシステムのデフォルト設定があまりにも変更されているように聞こえます。この問題を解決するより賢い方法を知っている人はいますか?usera
userb
userc
newgroup
PATH
あまりにも多くのファイル権限を変更する必要がある過度に複雑なソリューションを使用せずに、単一のユーザーがコマンドラインを使用する(またはコマンドラインからファイルを実行する)ことを禁止するにはどうすればよいですか。
ベストアンサー1
ACL を使用して権限を削除します。この場合、すべての実行可能ファイルの権限を変更する必要はありません。単に実行権限を削除すると、/usr/bin/
ディレクトリナビゲーションが無効になり、その中のすべてのファイルへのアクセスが無効になります。
setfacl -m u:guest:r /usr/bin
u
これは、ユーザーの権限がディレクトリのみを読み取るguest
ように設定するため、ディレクトリにアクセスできますが、その中には何もありません。r
/usr/bin
ls
すべての権限を削除することもできます。
setfacl -m u:guest:- /usr/bin