web-dev-qa-db-ja.com

フォルダーへのグループへの書き込み権限の付与

1つのグループに書き込み権限を付与するにはどうすればよいですか?
2人のユーザーがいます(alexおよびben)。
alexはグループalexおよびグループconsultのメンバーです。
benはグループbenおよびグループconsultのメンバーです。

consult_documentsフォルダーのalexbenの両方に読み取り/書き込みアクセス権を付与したい。

alexをディレクトリconsult_documentsの所有者にし、775にディレクトリconsult_documentsbenおよびalexへのアクセスを許可した場合フォルダにアクセスできるようになると思います。

ただし、これにより、benの他のフォルダへのalexアクセスも許可されますか?ユーザーが2つのグループに属している場合、それは両方のグループのすべてのメンバーがすべてのフォルダーに対して同じ権限を取得することを意味しますか?

35
anatak

ディレクトリに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のすべてのディレクトリにアクセスできなくなります。

  1. Alexのすべてのディレクトリがconsultグループに属するわけではありません
  2. Alexのディレクトリの一部はconsultグループに属している可能性がありますが、rwxグループにそれらへのアクセスを許可するように選択していない可能性があります。

要するに、答えはグループの所有権とディレクトリに設定されたグループ許可ビットの両方に依存します。

このすべては、システムで追加の 必須のアクセス制御 メジャーを使用しない場合に提供されます。

42
Joseph R.

これにより、アレックスとベンはこのディレクトリで互いに協力するようになります。そして、彼らは他のディレクトリでは協力できません。

を使用してユーザーグループを変更する

# 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$

Have a look here

7
Babin Lonston

私があなたの質問を正しく理解していれば、答えはイエスです。

説明させてください:

フォルダとファイルのアクセス権は、次の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 [......]

そして、ディレクトリはグループ相談のために利用可能です。

私の知る限り、所有者のグループではないグループを追加できることに注意してください。しかし、それが推奨されているかどうかはわかりません(アクセス権を読み取るときに明確ではありません)。

6
Laurent C.

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

3
Marc Cabana