グループのメンバー全員がrwx特権を持つように設定しようとしているディレクトリがあります。ディレクトリとその権限のサブセットは次のとおりです。
-rwxr-xr-x 1 myusrnm grpnm 21638 2015-04-22 14:14 correct
-rwxrwxr-- 1 myusrnm grpnm 14403 2015-04-22 14:14 correct.c
ここで、グループ内のユーザーの1人に切り替えて、彼がその中にいることを確認します。
myusrnm@server:~/grpdir$ Sudo su hisusrnm
hisusrnm@server:/grpdir$ whoami
hisusrnm
hisusrnm@server:/grpdir$ groups
hisusrnm sshusers grpnm
そして、correct.cを編集します。今、他の端末で、私はディレクトリをチェックして見つけます:
-rwxr-xr-x 1 myusrnm grpnm 21638 2015-04-22 14:14 correct
-rwxrwxr-- 1 hisusrnm hisusrnm 14368 2015-04-22 14:23 correct.c
ファイルを編集するときに同じことが起こることに気づきました。そのグループは自動的にmyusrnm
に変更され、その権限は自動的に774に変更されます。なぜこれが発生するのですか?グループ、所有権、権限を変更せずに、グループメンバーにファイルを編集させるにはどうすればよいですか?これはデフォルトのLinuxの動作ですか?それとも、私のシステムは特別な動作をしていますか?
親フォルダで SetGID を使用します。これにより、グループ所有者は親フォルダーの所有者のままになります。
SetGIDをオンにするchmod g+s folder/path
を使用するか、数値パターンの最上位に2を配置できます。例:chmod 2740 folder/path
。新しいフォルダーの場合は、フォルダーに所有権を適用するだけで、新しいファイルはフォルダーgroup-ownerを引き継ぐか、既存のフォルダーでフォルダー自体を示しますが、chmod-Rスイッチを使用してすべての既存の子。子供に既存の所有者がいる場合は、それらも設定する必要があります
chown -R user:group /path/to/existing/dir
chmod -R 2640 /path/to/existing/dir
権限が変更される理由については、umask
を確認してください。 0003
に設定されているようです。カスタマイズしましたか? 0022
に変更することを検討してください。