Feche o acesso à pasta1, mas abra o acesso à pasta1 / pasta2

0

Estou configurando a hospedagem local e preciso configurar o sistema do usuário como em provedores de hospedagem populares.

Por exemplo: eu crio o usuário 'user1' no grupo, por exemplo, 'usuários'. E eu dei a ele a pasta home /user/user1 .

Em alguns provedores de hospedagem, quando nos conectamos à nossa conta via SSH do SFTP, nos encontramos em nosso diretório pessoal (no meu caso é /user/user1 ). Mas não podemos acessar a pasta /user . Não podemos acessar /home , /var e outros diretórios, mas podemos acessar /bin e outros diretórios de serviço.

Chroot é algo ruim, porque se usarmos o chroot, precisamos copiar todos os arquivos bin e alguns do sistema em nossa pasta de usuário (porque o usuário usará o shell).

Só preciso fechar o acesso do grupo de usuários ao diretório pai ( /user ), algumas pastas ( /etc , /home ) e outras pastas /user/ , mas dar acesso ao diretório inicial ( para user1 é /user/user1 ).

Como posso fazer isso?

Eu tentei:

sudo chmod 000 /user
sudo chmod 777 /user/user1

Mas quando tentei cd /user/user1 , recebi o erro "permissão negada".

Como corrigir esse erro e configurar isso correto?

    
por entropy177 15.04.2018 / 10:56

1 resposta

0

Para poder percorrer um diretório, o diretório precisa de + x (permissão de execução). Para poder listar o conteúdo de um diretório, o diretório precisa de + r (permissão de leitura).

[/tmp]$ mkdir -p foo/bar
[/tmp]$ chmod 111 foo
[/tmp]$ cd foo
[/tmp/foo]$ ls
ls: cannot open directory '.': Permission denied
[/tmp/foo]$ cd bar
[/tmp/foo/bar]$ 

1 é a permissão octal para executar (+ x), mas nenhuma outra permissão, para proprietário, grupo e outros. Em / users você provavelmente quer 711, já que root é dono (e tem controle total), mas executa somente para outros. Assim, sou capaz de mudar para um subdiretório, mas não consigo listar o conteúdo do diretório.

Como outros foram executados, qualquer um poderá se transformar em um subdiretório, desde que saiba o nome dele.

Você também pode procurar, por exemplo, o SELinux ou o Apparmour, que podem limitar as permissões de uma maneira mais granular e flexível do que as permissões de arquivo simples.

Resumindo:

  • O bit de execução permite que os usuários insiram um diretório e acessem arquivos e diretórios dentro dele.
  • O bit de leitura permite que os usuários listem o conteúdo de um diretório.
  • O bit de gravação permite que os usuários criem arquivos e diretórios dentro dele.
  • O sticky bit só permite que o proprietário (ou root) modifique um arquivo ou diretório dentro dele.

Este artigo fornece algumas informações sobre como as permissões do sistema de arquivos funcionam no Linux (e em outros Unices).

    
por vidarlo 15.04.2018 / 14:32