Por que recebo permissões diferentes quando crio um arquivo com um grupo diferente e como posso configurá-lo?

1

Quando eu crio arquivos com um grupo diferente, vejo que as permissões são diferentes

Eu fiz isso como root:

groupadd stack
useradd stack1
gpasswd stack  (choose a password)
su stack1
touch testfile
I did ls -l and I see permissions rw-rw-r--
newgrp stack (enter the password I previously created for that group)
touch test2
I did ls -l and I see permissions of file test2 rw-r--r--

E onde eu posso mudar essa opção, acho que tem a ver com umask mas não tenho certeza.

Obrigado.

    
por VaTo 11.11.2016 / 02:12

1 resposta

1

Como você sabe, a diferença é devido aos diferentes valores de umask. Quando você cria um arquivo, especifica as permissões máximas que o arquivo deve ter. Por touch , isso seria rw-rw-rw- . O umask é então usado para reduzir as permissões.

Em geral, você deve usar su - stack1 para alternar para um usuário.

O newgrp é um programa difícil de escrever. Normalmente é suid porque precisa manipular os grupos. Idealmente, seria integrado ao shell como umask, portanto, alteraria os grupos para o processo atual, mas isso é incompatível com o suid. Então, normalmente é um binário suid que solicita a senha e, se a validação for bem-sucedida, ela será substituída por um shell. Este shell pode executar seu código de inicialização.

Se o seu arquivo ~ / .bashrc tiver um comando umask, direta ou indiretamente, isso explicaria a diferença nos valores.

    
por 11.11.2016 / 03:22