Mais perguntas sobre permissões do Linux

2

Li inúmeros artigos sobre o assunto e pesquisei todas as perguntas e respostas que pude encontrar sem sorte. Eu estou lentamente ficando louco, então estou me voltando para vocês, já que sei que a resposta para a minha pergunta é provavelmente simples.

No meu servidor da web, tenho dois usuários e dois grupos. Os usuários precisam ler e gravar 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

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 esperaria:

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, quando um dos dois usuários cria a pasta, o outro não consegue gravar nenhum arquivo nela.

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

cat / etc / group

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 pareçam 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) Eu tentei adicionar umask 022 no meu arquivo ~ / .bashrc para meu usuário root, mas ele não fez nada. Não tenho certeza onde colocar isso para esses "usuários" que não têm diretórios pessoais.

Desculpe, sei que perguntas como essa podem parecer redundantes para os usuários especialistas em Linux. A pesquisa é difícil quando nem sei o que estou procurando.

Muito obrigado, como sempre.

[Eu estou no centOS]

    
por Ryan Martin 01.05.2012 / 06:42

2 respostas

1

1) How can I make both users access files and folders from each other, given their group differences?

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

  chgrp psaserv folder1 folder2
  chmod g+w  folder1 folder2

2) How can I set the default permissions on new files so they inherit the folder permissions?

Use o bit "set group ID".

  chmod g+s folder1 folder2

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

I've tried adding umask 022 into my ~/.bashrc file for my root user, but it didn't do anything. I'm unsure where to put that for these "users" who don't have home directories.

Você definiu que algum processo está usando esses ids de usuário. Você deve providenciar para que o processo defina sua umask para 022. Como você faz isso depende do processo que 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 e detalhados.

    
por 01.05.2012 / 11:01
1

Se você quiser que novos arquivos criados por seus usuários por padrão sejam graváveis por membros do grupo, você precisa modificar o umask para algo diferente de 022. Se você está bem com as implicações de segurança, configure o umask para 002 (para exemplos sobre onde definir umask, consulte link ).

Umask explicou

As permissões de arquivo padrão nos arquivos e diretórios recém-criados são uma permissão padrão ( rw-rw-rw para arquivos, rwxrwxrwx para diretórios) subtraindo a configuração atual de umask. Uma configuração de 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 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)
    
por 01.05.2012 / 11:46