chmod g + w + s no diretório sem alterar umask (Linux)?

1

Gostaria de criar novos arquivos, criados em um diretório, graváveis por outros no mesmo grupo Posix sem usar ACLs. Não tenho certeza se isso é possível.

A maneira como realizei isso no passado foi alterar todos os usuários umask para 0002 e, em seguida, chmod g+w+s no diretório que contém os arquivos compartilhados (saída editada para brevidade):

$ 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

O problema com a alteração do umask é quando os usuários criam arquivos else (por exemplo, em seus diretórios home onde o grupo de leitura / gravação não é normalmente desejado), eles também têm group-write por padrão, pois umask afeta arquivos os sistemas de arquivos locais. As ACLs são a única maneira de corrigir isso?

    
por Server Fault 01.03.2018 / 17:20

0 respostas