私は、ユーザーのホームディレクトリとデータを含む他のいくつかのフォルダへのアクセスを制限する可能性を探しています。
/ home/user1、/ data/media
それは大したことではありませんが、user1が他のフォルダやファイルを調べられないようにするにはどうすればよいですか?たとえば、デフォルトでは、すべてのユーザーがほぼすべてのディレクトリとファイルを参照する権限を持っています。
例えばuser1はそのフォルダーを見ることができるが、/ etc、/ optなどを閲覧できないことを禁止する可能性はありますか?
そうでなければ、彼は私たちが本当に禁止したい設定ファイルを調べることができるでしょう...
私たちはchrootで試しましたが、このメトットでは彼は自分のホームフォルダーしか見ることができませんでした...
どうもありがとう
Chrootを使用するのが最善の策だと思います。 mount --bind/source/home/user/dirを使用して、ユーザーがchrootjailからアクセスできるディレクトリの「ツリー」を作成します。
別の方法は、chmodとchownを使用してシステムの他の部分へのユーザー権限を拒否することですが、これは他の副作用のリスクがあり、何かを見逃す可能性が非常に高くなります。
デフォルトのフォルダー権限は755です(他のユーザーが読み取りおよび実行可能/アクセス可能)。
ファイル/etc/adduser.confを編集することにより、すべてのフォルダーのデフォルトのアクセス許可を変更できます-
次の行を見つけます:DIR_MODE = 0755
他のユーザーをブロックするには、次のように変更します:DIR_MODE = 0750
同じグループ内のユーザーもブロックするには(ls -l/homeを参照)、次のように変更します。DIR_MODE= 0700新しいユーザーを作成すると変更が有効になります。
次のコマンドを使用して、特定のフォルダーのデフォルトのファイル/フォルダーのアクセス許可を変更できます(つまり、新しいファイルを作成するとき)。
chmod g + s/folder/mypath#setスティッキービット
setfacl -d -m g :: rwx/folder/mypath#グループをrwxのデフォルトに設定
setfacl -d -m o :: 000/folder/mypath#それに応じて他の権限を設定します
変更を確認するには:
getfacl/folder/mypath
これは特定のフォルダ用です
アクセス制御リスト(ACL)システムを使用できます。これにより、よりきめ細かいアクセス許可が可能になります。関連するコマンドはsetfacl
とgetfacl
です。
ディストリビューションを指定しなかったので、ACLに関するリンクをいくつか示します Debian および RHEL/CentOS 。