グループに対する書き込み権限を自動的に設定

グループに対する書き込み権限を自動的に設定

複数のユーザーが同じファイルを提供できるディレクトリを作成したいのですが、すべてのユーザーが作成したすべてのファイルに対して、デフォルトでグループ内の誰もが書き込み権限を持つことを望みます。

ディレクトリにsetgidを設定し、すべての新しいファイルに正しいグループがあります。ただし、書き込み権限なしでグループに新しいファイルが作成され続けます。

私がやろうとしていることの説明は次のとおりです。

(rootユーザーとして):

mkdir --mode=u+rwx,g+rws,o-rwx /tmp/mydir
chown root.mygroup /tmp/mydir
touch /tmp/mydir/test.txt

それから私はこれをするときls -la /tmp/mydir/私は得ます。

drwxrws---  2 root    mygroup    4096 Sep 12 12:04 .
drwxrwxrwt 11 root    root       4096 Sep 12 12:04 ..
-rw-r--r--  1 root    mygroup    0    Sep 12 12:03 test.txt

したがって、グループメンバーによって作成されたすべての新しいファイルに対して、グループへの書き込み権限は入力されません。他のグループユーザーは、上記の例chmod g+wに示すように、特定のファイルに対して操作を実行してまだそれを上書きできることを知っています。test.txtこれはほとんどの場合正しい動作ですが、特定のディレクトリを再帰的に変更し、書き込み権限を自動的に設定する方法はありますか?そのディレクトリ内のすべての新しいファイルのグループと所有者として?

ベストアンサー1

新しいファイルとフォルダに対するデフォルトの権限は、次の要素によって決まります。マスク。デフォルト値を設定する場合マスクユーザーの場合、新しいファイルとフォルダの002グループ権限が設定されます。rwumaskを使用しているすべてのユーザーに対してUmaskを設定できますpam_umask

Debian ベースのディストリビューションで使用するには、ファイルのpam_umask末尾に以下を追加してモジュールを設定する必要があります。/etc/pam.d/common-session

 session optional   pam_umask.so

次に、目的のumask値を設定します/etc/login.defs

PAMを使用して設定されたマスクは、すべてのGnomeアプリケーションでは機能しません(参照:umask完全なGNOMEセッションを確立する方法)。ただし、ssh開始されたセッションはtty影響を受けません。

システムのデフォルトのumaskを変更したくない場合は、次のものを使用できます。POSIX アクセス制御リスト。ディレクトリにACLが設定されている場合、新しいファイルはACLを継承します。基本アクセス制御リストsetfaclとを使用して、それぞれACLを設定および変更できますgetfacl。一部のファイルシステムでは、ACL をイネーブルにするために追加のマウントフラグが必要になる場合があります。

おすすめ記事