一般ユーザーが「他の」ユーザーが所有するファイルを変更します。

一般ユーザーが「他の」ユーザーが所有するファイルを変更します。

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なりません。 user1user3group3
  • それから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

関連情報