CentOSで権限システムを使用して次の機能を達成する方法を学びたいと思います。
システムには次のユーザーがいます。
user1
user2
user3
そして、次のディレクトリ構造..
/dir1
/dir2
/dir3
ユーザー 2 は dir 2 のファイルを実行するため、このファイルに書き込める必要があります。ユーザー 3 は dir 3 のファイルを実行するため、このファイルに書き込める必要があります。
ユーザー2いいえdir3 ユーザー 3 を変更できる必要があります。いいえdir2 修正機能
問題は、ユーザー1がdir2とdir3を変更できる必要がある場合に発生します。
答え1
これを試して教えてください。
ファイルの所有権を変更する
chown root:user1 dir1
chown root:user2 dir2
chown root:user3 dir3
ファイルの権限の変更
chmod 764 user1
chmod 764 user2
chmod 764 user3
root権限があることを願っています。
そうでない場合は、sudoを使用してください。
group1 groupadd group1
useradd -G group1 user1
useradd -G group1 user2
useradd -G group1 user3 と同じグループにユーザーを追加する必要があります。
user1 が dir1 dir2 & dir3 setfacl -R g:group1:rwx を使用するように setfacl ACL を実行できるようになりました。
答え2
group2
カラフルなACLなしでこれを行う最も簡単な方法は、という2つの別々のグループを持つことですgroup3
。
- ユーザー
user1
とメンバーはメンバーでなければならず、メンバーuser2
でなければgroup2
なりません。user1
user3
group3
- それから
dir2
それは属しなければgroup2
なりdir3
ませんdir3
。 dir2
とその両方は、dir3
そのグループの所有者が読み書きできる必要があります。GIDビット設定作成するユーザーのデフォルトグループではなく、インクルードディレクトリのグループ所有権を使用して新しいファイルを作成するように設定します。- 結局のところ、
dir1
誰もが閲覧できるはずです(読むことはできません)。
コマンドから:
groupadd group2
groupadd group3
usermod -a -G group2 user1
usermod -a -G group2 user2
usermod -a -G group3 user1
usermod -a -G group3 user3
chmod 0711 dir1
chgrp group2 dir1/dir2
chmod 2770 dir1/dir2
chgrp group3 dir1/dir3
chmod 2770 dir1/dir3