web-dev-qa-db-ja.com

ユーザーのアクセスを複数のディレクトリに制限する

私は、ユーザーのホームディレクトリとデータを含む他のいくつかのフォルダへのアクセスを制限する可能性を探しています。

/ home/user1、/ data/media

それは大したことではありませんが、user1が他のフォルダやファイルを調べられないようにするにはどうすればよいですか?たとえば、デフォルトでは、すべてのユーザーがほぼすべてのディレクトリとファイルを参照する権限を持っています。

例えばuser1はそのフォルダーを見ることができるが、/ etc、/ optなどを閲覧できないことを禁止する可能性はありますか?

そうでなければ、彼は私たちが本当に禁止したい設定ファイルを調べることができるでしょう...

私たちはchrootで試しましたが、このメトットでは彼は自分のホームフォルダーしか見ることができませんでした...

どうもありがとう

2
paschn

Chrootを使用するのが最善の策だと思います。 mount --bind/source/home/user/dirを使用して、ユーザーがchrootjailからアクセスできるディレクトリの「ツリー」を作成します。

別の方法は、chmodとchownを使用してシステムの他の部分へのユーザー権限を拒否することですが、これは他の副作用のリスクがあり、何かを見逃す可能性が非常に高くなります。

1
davidgo

デフォルトのフォルダー権限は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

これは特定のフォルダ用です

0
vembutech

アクセス制御リスト(ACL)システムを使用できます。これにより、よりきめ細かいアクセス許可が可能になります。関連するコマンドはsetfaclgetfaclです。

ディストリビューションを指定しなかったので、ACLに関するリンクをいくつか示します Debian および RHEL/CentOS

0
dr_