Herança de permissão de diretório Linux para novos arquivos criados

Herança de permissão de diretório Linux para novos arquivos criados

eu tenho a seguinte pasta

 drwxr-xr-x   7 root root 45056 Nov 25 12:39 data

que incluem subdiretórios e arquivos são todos 755,

mas quando eu crio um novo arquivo dentro desses diretórios, ele obtém permissão

-rw-r--r-- 1 root root    0 Nov 28  2013 new

como fazer com que novos arquivos sejam criados nestes diretórios take 755 sem fazer isso manualmente eu tentei chmod g+s e nada aconteceu,

qualquer dica

Responder1

A única maneira de definir as permissões de bits é através do seu umask. Quando um arquivo é criado, digamos, com permissões 666 (isto é em octal), sua umask decide quais bits serão transformados em 0.

Para explicar melhor: rwx rwx rwx é para User Group World respectivamente. Se cada bit fosse definido como 1 (111 111 111), seria 0777 (em octal). 0666 é 110:110:110 ou rw_rw_rw. Espero que isso faça sentido.

Sua umask será, por padrão, 022 - (octal 022). Isto diz quais bits devem ser mantidos (0) e quais não são (1). (É um pouco não intuitivo dessa forma).

Pegue um arquivo criado 666: 6 & ~0 = 6 6 & ~2 = 4 6 & ~2 = 4

Assim o arquivo criado terá permissões de 644 (rw-r--r--).

Observe que o efeito de umask é mascarar os bits fornecidos à chamada de criação de arquivo. Se a chamada for 666, não há como fazer 755 sem fazer um "arquivo chmod a+x" manualmente.

Além disso, o efeito de g+s, configurando o grupo suid, é definir o grupo proprietário, não as permissões de bits. O Windows é muito mais refinado nesse aspecto (ACLs), mas existem extensões de sistema de arquivos para adicionar permissões ACL aos sistemas de arquivos Linux.

informação relacionada