Umask predefinida em um determinado caminho [duplicado]

2

Digamos que eu tenha umask padrão, umask1 . Eu gostaria de todos os arquivos / pastas que eu criar / modificar em um caminho específico

/path/to/foo

para ter uma umask diferente, umask2 e continuar usando umask1 para todo o resto. Existe uma maneira de fazer com que o shell faça isso automaticamente para mim? Se sim, como?

Existe uma maneira de fazer isso para todos que pertencem ao groupID de /path/to/foo ?

    
por Amelio Vazquez-Reina 30.11.2012 / 16:53

2 respostas

2

Você precisa usar as ACLs padrão .

A sintaxe é um pouco diferente e se baseia nas permissões positivas, não na máscara de permissões negativas, por exemplo, rwxr-x--- seria 750 em vez de 027 .

Por exemplo

setfacl -m d:u::7,g::5,o:0 /path/to/foo

ou

setfacl -m d:u::rwx,g::r-x,o:- /path/to/foo

fará com que os arquivos e diretórios criados em /path/to/foo sejam 750 = rwxr-x--- por padrão.

Se você já tiver algumas subpastas, adicione o sinal -R para definir seus padrões de forma recursiva também.

Se você obtiver um erro Operation not supported , provavelmente não terá as ACLs ativadas em seu sistema de arquivos. A resposta correta depende de muitas coisas, mas se você estiver no Linux usando ext2 / ext3 / ext4, tente

sudo mount -o remount,acl <mount point>

ou

sudo tune2fs -o acl <file system>

Veja também Como definir permissões de arquivo padrão para todas as pastas / arquivos em um diretório?

    
por 30.11.2012 / 17:03
2

Você pode montar o diretório com permissões específicas e umask eficaz usando bindfs . Consulte o link .

    
por 30.11.2012 / 17:04