Como fazer arquivos criados por um usuário específico para ter permissões específicas por padrão

2

Aqui está uma seqüência de comandos e a saída resultante:

$ touch testfile
$ stat -c'%a %A' testfile
644 -rw-r--r--

O que devo fazer para que, quando um usuário seguir essa sequência, eu receba essa saída:

664 -rw-rw-r--
    
por Tshepang 15.02.2011 / 16:09

3 respostas

2

POSIX define o utilitário umask que define a máscara de criação do modo de arquivo, seja para a instância atual (sem subshells) ou para cada shell recém-invocado (sobre .bash_profile, .bashrc, etc.).

Mostrar a máscara atualmente definida em forma octal ou simbólica:

$ umask
0022
$ umask -S
u=rwx,g=rwx,o=rx

Os números octal indicam os valores que estão sendo removidos do acesso total:

$ umask 0002     # or: umask g+w
$ touch testfile
$ stat -c'%a %A' testfile
664 -rw-rw-r--
    
por 15.02.2011 / 16:24
1

Você precisa definir o umask para esse usuário em 0002. Agora, provavelmente é 0022. Você pode defini-lo no seu ~ / .bash_profile com 'umask 0002'.

    
por 15.02.2011 / 16:17
0

No bash, umask define a máscara de criação de arquivo. Com umask 002 você obtém as permissões que deseja. Você pode colocar isso em .bash_profile local ou globalmente.

    
por 15.02.2011 / 16:19