グループへの書き込み許可をフォルダーに付与する


34

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

私は両方への読み取り書き込みアクセス許可するalexben、フォルダのをconsult_documents

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

しかし、これは他のフォルダbenalexのアクセスも許可しますか?ユーザーが2つのグループに属している場合、両方のグループのすべてのメンバーがすべてのフォルダーで同じアクセス許可を取得するということですか?


alexとbenがconsult_documentsにファイルを作成し、それらのドキュメントの読み取り/書き込みアクセスを許可できるようにしますか?
X天

回答:


42

ディレクトリに775のアクセス許可を付与しても、特定のグループ内のすべてのユーザーがディレクトリにrwxアクセスできることを自動的に意味するわけではありません。ディレクトリの所有者であるか、ディレクトリのグループに属している必要があります。

$ ls -ld some_dir
drwxrwxr-x 2 alex consult 4096 Feb 20 10:10 some_dir/
              ^     ^
              |     |_____ directory's group
              |___________ directory's owner

したがって、alexとbenの両方に書き込みアクセスを許可するsome_dirには、some_dirディレクトリ自体がconsultグループに属している必要があります。そうでない場合は、ディレクトリの所有者(例ではalex)が次のコマンドを発行する必要があります。

$ chgrp consult some_dir/

または、ディレクトリ内のすべてのグループ所有権を変更するには:

$ chgrp -R consult some_dir/

これは、alexがconsultグループのメンバーである場合にのみ機能します。これは、あなたの例に当てはまるようです。

これにより、次の2つの理由により、benがalexのすべてのディレクトリにアクセスできなくなります。

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

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

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


consult_documentsはディレクトリである場合、グループとしてどのように指定できますか?
バビンロンストン14

@Babinlonstonできません。consultグループとして指定します。
ジョセフR. 14

ありがとう、ディレクトリへのアクセスを1つのグループに与える方法を探していました。chgrpコマンドでこれができるとは知りませんでした。chgrpはユーザーをグループに追加/削除するだけだと思いました。
アナタック14

1
@anatakグループメンバーシップの変更はusermodnotchgrp
Joseph R. 14

これは同じchown -R :consult some_dir/ですか?
アーロンフランケ

7

これにより、このディレクトリでアレックスとベンが互いに協力するようになり、他のディレクトリで共同作業することはできません。

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

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

こちらをご覧ください


6

あなたの質問を正しく理解した場合、答えはイエスです。

説明させてください:

フォルダーとファイルのアクセス権は、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です。アレックスにはRWXアクセス権があります。Group Consultには、RWXアクセス権があります。他のユーザーにはRX権限があります。

ユーザーAlexにはいくつかのグループがあるため、共有するグループを選択できます。

たとえば、フォルダがグループアレックスのアレックスによって所有されている場合:

drwxrwxr-x Alex Alex [......]

それをする:

chown Alex:Consult your_folder

次のようになります。

drwxrwxr-x Alex Consult [......]

そして、そのディレクトリはグループConsultで使用できます。

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


3

setfacl -mg:debian-transmission:rwx -R / mnt / sra

ファイルまたはディレクトリの所有者を完全に変更するchownの代わりに、このコマンドを見つけました!

「ls -Al」では、複数の所有者がいることを示すために+記号が追加されることがわかります。

drwxr-xr-x 2 root root 4096 Nov 8 19:11 sdc1 /

drwxrwxr-x + 3 root root 4096 Feb 17 19:16 sra /

次に、getfaclを使用して、ファイルまたはディレクトリの書き込みまたは読み取りができるユーザーを確認できます。

#ファイル:sra

#所有者:ルート

#グループ:root user :: rwx

group :: rx

group:debian-transmission:rwx

mask :: rwx

other :: rx

デフォルト:user :: rwx

デフォルト:group :: rx

デフォルト:group:debian-transmission:rwx

デフォルト:mask :: rwx

デフォルト:other :: rx

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.