Esta pergunta já tem uma resposta aqui:
Eu tenho uma pasta na qual novas subpastas e arquivos serão criados automaticamente, por um script.
Desejo manter as permissões de usuário e grupo recursivamente para todas as novas pastas e arquivos colocados no diretório pai. Eu sei que isso envolve definir um pouco, mas não consigo encontrar um comando que mostre exatamente o que eu preciso.
Isto é o que eu fiz até agora:
sudo mkdir -p /path/to/parent
sudo chmod -R 660 myself:somegroup /path/to/parent
Posteriormente, desejo que as permissões do 660 sejam definidas recursivamente para quaisquer pastas e arquivos inseridos /path/to/parent
.
No entanto, tudo o que tentei até agora falhou. Alguém pode ajudar por favor?
Na verdade, a bandeira octal 660 provavelmente nem está correta. As permissões que eu quero são:
- Diretórios colocados sob
/path/to/parent
são executáveis por usuários com permissões - os arquivos são lidos / graváveis pelo próprio usuário e por membros de algum grupo
- Arquivos e pastas
/path/to/parent
NÃO são legíveis pelo mundo
Estou executando no Ubuntu 10.0.4 LTS.
Alguém pode ajudar por favor?
fonte
o+w
uma boa escolha aqui? Não deve as alterações ser limitado au
eg
? Caso contrário, qual é o sentido de tentar manter a segurança no diretório e subdiretórios?Os bits de permissão que você está procurando são 0770 e 0660.
rw-
permissões →110
binário →6
octalA propriedade do grupo pode ser herdada por novos arquivos e pastas criados na sua pasta / caminho / para / pai, definindo o bit setgid usando o
chmod g+s
seguinte:Agora, todos os novos arquivos e pastas criados em / path / to / parent terão o mesmo grupo atribuído como definido em / path / to / parent.
Permissões de arquivo POSIX não são herdadas; eles são fornecidos pelo processo de criação e combinados com seu valor atual de umask.
No entanto, você pode usar ACLs POSIX para conseguir isso. Defina a ACL padrão em um diretório:
Isso se aplica
setfacl
para o diretório / path / to / pai,-m
odifying os-d
EFAULT ACLs - aqueles que serão aplicados a itens recém-criados. (MaiúsculasX
significa que apenas os diretórios receberão o+x
bit.)(Se necessário, você pode adicionar um
u:someuser:rwX
oug:someuser:rwX
- de preferência um grupo - às ACLs.)Nota: Em sistemas mais antigos que usam ext3 / ext4, você costumava montar o sistema de arquivos com a
acl
opção, caso contrário ele ignoraria todas as ACLs e não permitiria a configuração de novas.Para definir isso permanentemente, use
tune2fs -o acl <device>
ou edite/etc/fstab
.fonte
unzip
?Eu acho que você acabou de complicar o problema. Se o diretório de nível superior não estiver acessível para outras pessoas, elas não poderão criar arquivos dentro da árvore. O acesso de gravação em grupo não é necessário se apenas o apache estiver fazendo a gravação.
Estas etapas devem fazer o que você deseja (substitua o diretório nos comandos pelo diretório que você deseja usar):
umask 027
ao script de padrões do apache/etc/default/apache
. Isso impedirá que outros acessem arquivos ou diretórios criados pelo apache.chown www-data:www-data directory
no diretório em que você deseja que o apache possa gravar.chmod 750 directory
no diretório em que você deseja que o apache possa gravar.Permitir que o apache grave em um diretório abre a capacidade de injetar todo tipo de malware no conteúdo que você está servindo. Monitore o conteúdo dessa árvore de diretórios adequadamente.
fonte