1つのグループに書き込み権限を付与するにはどうすればよいですか?
2人のユーザーがいます(alex
およびben
)。alex
はグループalex
およびグループconsult
のメンバーです。ben
はグループben
およびグループconsult
のメンバーです。
consult_documents
フォルダーのalex
とben
の両方に読み取り/書き込みアクセス権を付与したい。
alex
をディレクトリconsult_documents
の所有者にし、775
にディレクトリconsult_documents
、ben
およびalex
へのアクセスを許可した場合フォルダにアクセスできるようになると思います。
ただし、これにより、ben
の他のフォルダへのalex
アクセスも許可されますか?ユーザーが2つのグループに属している場合、それは両方のグループのすべてのメンバーがすべてのフォルダーに対して同じ権限を取得することを意味しますか?
ディレクトリに775のアクセス許可を付与しても、特定のグループのすべてのユーザーがそのディレクトリにrwx
アクセスできるようになるとは限りません。ディレクトリの所有者であるか、ディレクトリのグループに属している必要があります。
$ ls -ld some_dir
drwxrwxr-x 2 alex consult 4096 Feb 20 10:10 some_dir/
^ ^
| |_____ directory's group
|___________ directory's owner
したがって、アレックスとベンの両方にsome_dir
への書き込みアクセスを許可するには、some_dir
ディレクトリ自体がconsult
グループに属している必要があります。そうでない場合は、ディレクトリの所有者(例ではalex)が次のコマンドを発行する必要があります。
$ chgrp consult some_dir/
または、ディレクトリ内のすべてのグループ所有権を変更するには:
$ chgrp -R consult some_dir/
これは、alexがconsult
グループのメンバーである場合にのみ機能します。これは、例ではそうです。
次の2つの理由により、これによりbenはalexのすべてのディレクトリにアクセスできなくなります。
consult
グループに属するわけではありませんconsult
グループに属している可能性がありますが、rwx
グループにそれらへのアクセスを許可するように選択していない可能性があります。要するに、答えはグループの所有権とディレクトリに設定されたグループ許可ビットの両方に依存します。
このすべては、システムで追加の 必須のアクセス制御 メジャーを使用しない場合に提供されます。
これにより、アレックスとベンはこのディレクトリで互いに協力するようになります。そして、彼らは他のディレクトリでは協力できません。
を使用してユーザーグループを変更する
# usermod -a -G alex,ben alex
次に、フォルダのアクセス許可を変更します
# chown alex:ben consult_documents
ここをチェックして私はそれを回避しました
$ Sudo usermod -a -G alex,ben alex
$ Sudo chown alex:ben consult_documents/
cd consult_documents/
$ touch babin
drwxrwxr-x 2 alex ben 4096 Feb 20 15:19 .
drwxr-xr-x 3 alex alex 4096 Feb 20 15:17 ..
-rw-rw-r-- 1 alex alex 0 Feb 20 15:19 babin
$ su - ben
cd /home/alex/consult_documents/
ben@system99:/home/alex/consult_documents$ touch babin1
ben@system99:/home/alex/consult_documents$ ls -la
total 8
drwxrwxr-x 2 alex ben 4096 Feb 20 15:19 .
drwxr-xr-x 3 alex alex 4096 Feb 20 15:17 ..
-rw-rw-r-- 1 alex alex 0 Feb 20 15:19 babin
-rw-rw-r-- 1 ben ben 0 Feb 20 15:19 babin1
ben@system99:/home/alex/consult_documents$
私があなたの質問を正しく理解していれば、答えはイエスです。
説明させてください:
フォルダとファイルのアクセス権は、次の3つのカテゴリに分かれています。
xxxyyyzzz
xxx are access rights for the owner
yyy are access rights for the owner's group
zzz are the access rights for everyone else
すべてのファイルとフォルダはユーザーが所有する必要があります。
つまり、consult_documentsという名前のフォルダーがあり、Consultグループのすべてのユーザーからアクセスできるようにしたい場合は、次のようになります(755アクセス権)。
drwxrwxr-x Alex Consult [......]
ディレクトリはAlexが所有し、グループはConsultです。 AlexはRWXアクセス権を持っています。 Group Consultは、RWXアクセス権を持っています。他のユーザーはRX権限を持っています。
ユーザーAlexにはいくつかのグループがあるため、共有するグループを選択できます。
たとえば、フォルダがグループAlexのAlexによって所有されている場合:
drwxrwxr-x Alex Alex [......]
やれ:
chown Alex:Consult your_folder
それは次のようになります:
drwxrwxr-x Alex Consult [......]
そして、ディレクトリはグループ相談のために利用可能です。
私の知る限り、所有者のグループではないグループを追加できることに注意してください。しかし、それが推奨されているかどうかはわかりません(アクセス権を読み取るときに明確ではありません)。
setfacl -m g:debian-transmission:rwx -R/mnt/sra
chownの代わりにこのコマンドが見つかりました。これにより、ファイルまたはディレクトリの所有者が完全に変更されます。
「ls -Al」では、複数の所有者がいることを示す+記号が追加されることがわかります。
drwxr-xr-x 2ルートルート4096 11月8日19:11 sdc1 /
drwxrwxr-x + 3ルートルート4096 2月17日19:16 sra /
そしてgetfaclを使用して、ファイルまたはディレクトリを誰が書き込みまたは読み取りできるかを確認できます!
#ファイル:sra
#所有者:ルート
#グループ:rootユーザー:: rwx
グループ:: r-x
グループ:debian-transmission:rwx
マスク:: rwx
その他:: r-x
デフォルト:user :: rwx
デフォルト:グループ:: r-x
デフォルト:グループ:debian-transmission:rwx
デフォルト:マスク:: rwx
デフォルト:その他:: r-x