umaskを変更せずにディレクトリ内のchmod g + w + s(Linux)?

umaskを変更せずにディレクトリ内のchmod g + w + s(Linux)?

ACLを使用せずに同じPosixグループ内の他のユーザーが書き込むことができるディレクトリに新しいファイルを作成したいと思います。これが可能かどうかはわかりません。

過去にこれを行った方法は、各ユーザーをumaskに変更0002し、chmod g+w+s共有ファイルを含むディレクトリに変更することです(簡潔に出力を編集)。

$ mkdir shared ## create a shared location
$ ls -lart
drwxr-xr-x  2 user234 sysadmin 4096 Mar  1 10:02 shared

$ groups ## must be member of group to share with
sysadmin webdevel sysconfig

$ chmod g+w+s shared ## set new files for group write/:sysconfig ownership
$ chown :sysconfig shared
$ ls -lart
drwxrwsr-x  2 user234 sysconfig 4096 Mar  1 10:02 shared

$ touch shared/file1 ## need umask for group write?
$ ls -lart shared/file1 
-rw-r--r-- 1 user234 sysconfig 0 Mar  1 10:03 shared/file1

$ umask
0022          ## no group write bits

$ umask 0002  ## set umask to add group write by default

$ touch shared/file2 ## ok fine                                                                                                
$ ls -lart shared/file2
-rw-rw-r-- 1 user234 sysconfig 0 Mar  1 10:03 shared/file2

$ touch ~/tps_reports  ## files created in home are GW now as well
$ ls -lart ~/tps_reports
-rw-rw-r-- 1 user234 sysadmin 0 Mar  1 10:08 /home/user234/tps_reports

変更の問題umaskは、ユーザーが他の場所(通常はグループの読み取り/書き込みを必要としないホームディレクトリ)からファイルを作成すると、そのファイルにもデフォルトでグループの書き込みが含まれているため、ローカルumaskファイルシステムのファイルに影響します。ということです。 ACLはこの問題に対する唯一の解決策ですか?

ベストアンサー1

おすすめ記事