Fornece contas de servidor para webmasters

1

Eu crio um sistema para vários web masters para armazenar e servir seus sites. Eles têm suas contas linux e diretórios home. Suas pastas public_html estão vinculadas por meio do comando ln -s ao diretório hsml do servidor web /usr/share/nginx/html/ , para que elas fiquem visíveis na Internet.

Mas os usuários podem assistir a pastas iniciais de outros usuários. Eu gostaria de evitar que eles assistam a pastas que não são deles.

Como conseguir isso?

Aqui estão informações de privilégios do usuário.

abc@localhost:/home/gameboy$ sudo namei -mo /home/abc/public_html/info.php 
[sudo] password for abc: 
f: /home/abc/public_html/info.php
 drwxr-xr-x root root /
 drwxr-xr-x root root home
 drwxr-xr-x abc  abc  abc
 drwxr-xr-x abc  abc  public_html
 -rw-r--r-- abc  abc  info.php
abc@localhost:/home/gameboy$ id abc
uid=1002(abc) gid=1002(abc) grupy=1002(abc),27(sudo)
abc@localhost:/home/gameboy$ 
    
por trzczy 23.02.2017 / 13:52

1 resposta

2

Eu posso ver que o usuário abc é um membro de sudo group. Isso significa (pelo menos nos sistemas Ubuntu) que esse usuário tem a capacidade de executar comandos com sudo (acesso root).

Se isso se aplica a todos os usuários que você está falando, então você não pode impedi-los de acessar os arquivos dos outros. O usuário pode simplesmente tornar-se root e fazer o que quiser.

Se ignorarmos este ponto, você precisará definir as permissões de cada arquivo / pasta para que ele seja somente legível / gravável pelo usuário e legível somente por grupos específicos como www-data para permitir que o servidor da Web os acesse ( chmod 750 para pastas e chmod 740 para arquivos).

    
por 23.02.2017 / 13:57