Você precisa chgrp webusers
dos arquivos que deseja que os membros do grupo possam acessar.
Eu tenho um sistema linux com o apache instalado e eu armazeno arquivos da web em / home / username / www / sitename / htdocs. Para que isso funcione, meu / home / username tem permissões de leitura e execução para todos. Eu sei que é má ideia, mas eu sou o único usuário no sistema, então ... eu realmente não me importo e eu não sei como fazer isso. Mas o fato é que eu preciso criar outro usuário. O problema com isso, obviamente, é que o novo usuário tem acesso aos arquivos do usuário antigo. Existe alguma maneira que eu só poderia permitir que o usuário do www-data apaches e meu próprio usuário acessem / home / username? Aqui está o que eu tentei:
i created a group webusers
i added my username and www-data to webusers
i removed rx permissions for everyone on /home/username
rx permissions still remain for the group on /home/username
Então, o www-data não deve conseguir acessar / home / username agora? Está no mesmo grupo que meu usuário. Ou não é tão simples assim? Eu li que há grupos primários e secundários, mas eu realmente não entendi o ponto lá ...
Se um aplicativo precisar acessar uma entidade de sistema de arquivos, um arquivo ou diretório, ele deverá ter (além dos direitos solicitados sobre a própria entidade) direitos eXecute em todos os diretórios pai. Poderia, no entanto, ter, e. executar direitos fornecidos por permissões de grupo em um diretório e por outras permissões em outro: não há diferença no como aplicativo obtém seus direitos.
Como as permissões para /home
são provavelmente 755 ( rwxr-xr-x
), pode haver dois problemas possíveis.
Primeiro, você precisa ter certeza de que o Apache realmente é executado como www-data
e, segundo, depois de adicionar algum usuário a um grupo, é necessário reiniciar todos os aplicativos já em execução como usuário porque o Linux não procura /etc/passwd
cada vez que ele precisa obter uma lista de grupos, armazena uma lista de GIDs em uma estrutura de kernel.
Os grupos primário e secundário são válidos somente quando aplicados a um usuário. O usuário pode pertencer a qualquer número de grupos, mas um deles é selecionado como principal e é atribuído a arquivos recém-criados; outras são usadas apenas para controlar os direitos de acesso.
Cada arquivo e diretório tem um conjunto de permissões para o proprietário, o grupo e outro (todos os outros).
Execute ls -l
para descobrir o que é isso
Para alterar as permissões, use chmod
, para alterar o proprietário e o grupo, use chown
As páginas man
para chown
e chmod
fornecem dicas para aplicação recursiva de permissões, o que torna a tarefa muito mais fácil, bem como a sintaxe a ser usada.
webusers
no seu caso) e altera a propriedade dos arquivos em /home/user1/www/sitename/htdocs
to user1.webusers
rw-rw----
e diretórios e cgi's para rwxrwx---
user2
(o novo usuário) não poderá acessar os arquivos, a menos que façam parte do grupo de webusers