Mais perguntas sobre permissões do Linux

Mais perguntas sobre permissões do Linux

Li inúmeros artigos sobre o assunto e pesquisei todas as perguntas e respostas que pude encontrar, sem sorte. Estou enlouquecendo lentamente, então estou recorrendo a vocês, pois sei que a resposta à minha pergunta provavelmente é simples.

No meu servidor web, tenho dois usuários e dois grupos. Os usuários precisam ler e escrever na mesma área. Não é uma única pasta, mas uma complexa rede de pastas.

>> groups user_1
      popuser psaserv psacln
>> groups user_2
      psacln popuser psaserv

Esses não são usuários reais, portanto não possuem arquivos .bashrc. Quando cada um dos usuários cria um diretório, as permissões são exatamente como eu esperava:

drwxr-xr-x 2 user_1 popuser 4096 Apr 30 20:47 folder_1
drwxr-xr-x 2 user_2 psacln  4096 Apr 30 20:49 folder_2

Mas depois que um dos dois usuários cria a pasta, o outro não consegue gravar nenhum arquivo nela.

Se eu chmod 777, é claro que ambos poderão escrever.

gato /etc/grupo

popuser:x:31:user_1,psaserv,user_2
psacln:x:505:user_2,user_1,psaserv

Também incomum é que quando um arquivo é gravado no grupo, as permissões parecem muito restritivas:

-rw-r--r-- 1 user_2 psacln 0 Apr 30 21:15 some_file.ext

Embora talvez isso seja esperado.

De qualquer forma, para resumir e esclarecer minha pergunta em duas partes:

1) How can I make both users access files and folders from each other, given their group differences?
2) How can I set the default permissions on new files so they inherit the folder permissions?

(2) Tentei adicionar umask 022 ao meu arquivo ~/.bashrc para meu usuário root, mas não fez nada. Não tenho certeza de onde colocar isso para esses "usuários" que não possuem diretórios pessoais.

Desculpe, sei que perguntas como essa podem parecer redundantes para vocês, especialistas em Linux. Pesquisar é difícil quando nem sei o que procuro.

Muito obrigado, como sempre.

[Estou no centOS]

Responder1

1) Como posso fazer com que ambos os usuários acessem arquivos e pastas um do outro, dadas as diferenças de grupo?

Uma maneira é dar aos diretórios um grupo que os usuários tenham em comum.

  chgrp psaserv folder1 folder2
  chmod g+w  folder1 folder2

2) Como posso definir as permissões padrão em novos arquivos para que eles herdem as permissões da pasta?

Use o bit "definir ID do grupo".

  chmod g+s folder1 folder2

Você não pode herdar permissões rwx, defina o umask.


Tentei adicionar umask 022 ao meu arquivo ~/.bashrc para meu usuário root, mas não fez nada. Não tenho certeza de onde colocar isso para esses "usuários" que não possuem diretórios pessoais.

Você providenciou para que algum processo esteja usando esses IDs de usuário. Você deve providenciar para que esse processo defina sua umask como 022. Como você faz isso depende de qual processo você organizou para fazer isso. Talvez você use sudo, talvez seja um servidor web, talvez seja outra coisa. A menos que você explique, não é realmente possível fornecer conselhos específicos detalhados.

Responder2

Se você deseja que novos arquivos criados por seus usuários sejam graváveis ​​por padrão pelos membros do grupo, você precisa modificar o umask para algo diferente de 022. Se você estiver de acordo com as implicações de segurança, defina o umask como 002 (para exemplos sobre onde definir umask, vejahttps://stackoverflow.com/questions/10220531/how-to-set-system-wide-umask).

Umask

As permissões de arquivo padrão em arquivos e diretórios recém-criados são uma permissão padrão ( rw-rw-rwpara arquivos, rwxrwxrwxpara diretórios) subtraindo a configuração umask atual. Uma configuração umask de 000 manteria as permissões padrão, enquanto uma configuração de 777 removeria todas as permissões.

Os três números no umask representam permissões de usuário, grupo e qualquer pessoa, respectivamente. O número representa três dígitos binários para remover uma permissão específica ou não.

d - rwx
-------
0 - 000 (rwx)
1 - 001 (rw-)
2 - 010 (r-x)
3 - 011 (r--)
4 - 100 (-wx)
5 - 101 (-w-)
6 - 110 (--x)
7 - 111 (---)

Para calcular quais permissões um novo arquivo terá dado uma determinada umask, comece com a permissão padrão e subtraia a umask.

orig    rwx rwx rwx (777, default directory permission)
umask   000 010 010 (022)
result  rwx r-x r-x (755)

orig   rw- rw- rw- (666, default file permission)
umask  000 010 010 (022)
result rw- r-- r-- (644)

orig   rwx rwx rwx (777, default directory permission)
umask  000 000 010 (002)
result rwx rwx r-x (775)

orig   rw- rw- rw- (666, default file permission)
umask  000 000 010 (002)
result rw- rw- r-- (664)

informação relacionada