Eu quero reforçar a segurança do servidor da Web e manter 750 para pastas e 640 para arquivos - mesmo quando estiver copiando, em todos os momentos, sob todas as circunstâncias.
Até agora, eu tenho esse trabalho muito bem. Foi o que eu fiz:
sudo chown -R kilomike ./html
(defina o proprietário para meu usuário, o único usuário)
sudo chgrp -R apache ./html
(configure o grupo para o apache para que ele funcione)
sudo chmod g+s ./html
(defina o ID do grupo para que novos arquivos / pastas herdem o grupo)
sudo setfacl -d -m g::rx ./html
(somente permitir que o grupo leia e execute [deve ser seguro, porque a criação de arquivos usando o touch e outros métodos não definem o bit de execução])
sudo setfacl -d -m o::- ./html
(não permite que outro grupo sequer olhe para ele)
Isso funciona muito bem na maior parte. No entanto, eu só sei que quando eu copiar uma pasta ou arquivo para / var / www / html / * eu vou esquecer de atualizar suas permissões.
O que eu quero é 750 para pastas, 640 para arquivos, que é o que eu tentei fazer com o setfacl. Apesar do fato de que tecnicamente eu o configurei para 750 (group is r-x e other is ---), acho que quando eu crio um FILE ele não aplicará (esperançosamente) o bit de execução para o dono ou grupo. Isso parece estar funcionando, de acordo com ls -l
ou getfacl
.
Meu problema é quando copio uma pasta que foi criada por outro usuário ou é baixada da web, ela preserva o proprietário, o grupo e outras permissões. Eu não quero isso, já que eu quero que minha pasta / var / www / html tenha as mesmas permissões para TODOS os arquivos e pastas dentro dele.
Alguém sabe como fazer isso? É a melhor maneira de fazer isso com um trabalho incron
(por exemplo, alterar em / var / www / html ou qualquer arquivo / pasta dentro dele, então "atualizar" permissões para TUDO), ou existe uma maneira melhor?
Tags permissions acl incron