Pergunta de acesso ao diretório Linux

2

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á ...

    
por Marius 15.08.2010 / 17:19

3 respostas

1

Você precisa chgrp webusers dos arquivos que deseja que os membros do grupo possam acessar.

    
por 15.08.2010 / 18:00
0

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.

    
por 15.08.2010 / 19:56
-2

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.

  • Você cria um grupo ( webusers no seu caso) e altera a propriedade dos arquivos em /home/user1/www/sitename/htdocs to user1.webusers
  • Em seguida, altere as permissões dos arquivos para 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
por 15.08.2010 / 17:36

Tags