Conceder acesso somente leitura a pastas específicas?

12

Gostaria de conceder acesso somente leitura a um usuário, mas quero que ele veja apenas as pastas exatas que concedo acesso. por exemplo, ele / ela não deve percorrer todo o servidor e navegar para todas as pastas de usuários, etc. Então, primeiro como posso permitir que um usuário específico tenha acesso a uma pasta específica e, em seguida, colocar links simbólicos em sua pasta pessoal ajudará? Para que eles possam ir diretamente para as pastas necessárias, mas não para cima ou para baixo?

Anarkie
fonte
2
possível duplicata da "prisão"
Creek
@ Creek Não, isso é relevante, mas não explica como configurar isso.
Gilles 'SO- stop be evil'
@Gilles você está certo, isso parece um ambiente
Creek

Respostas:

10

Você deve definir as permissões de diretório necessárias. Para diretórios, eles são:

  • read : permitido visualizar arquivos e subdiretórios nesse diretório
  • write : permitido criar arquivos e subdiretórios nesse diretório
  • execute : permissão para entrar em um diretório.

Para arquivos, a situação é semelhante, é bastante óbvio, para que você possa lidar com isso sozinho.

Numéricas essas permissões:

  • leitura - 4
  • gravação - 2
  • execute - 1

Para editar permissões, use chmod. Uso:chmod xyz <file or directory>

  • x - a soma das permissões de proprietário
  • y - a soma das permissões do grupo de proprietários
  • z - a soma das permissões restantes de usuários / grupos

Exemplo:

$ chmod -R 664 /home/jack/

O grupo jack e jack terá acesso de leitura + gravação a / home / jack e todos os seus subdiretórios. O restante terá apenas acesso de leitura. -Ropção usada aqui para definir permissões recursivamente .

Outro exemplo:

$ chmod 700 /home/jack/video/

dará ao jack acesso total ao /home/jack/videodiretório. Veja também: chown, chgrppara alterar proprietário e grupo proprietário.

milos
fonte
1
Embora esse seja um contexto de relevância marginal, a questão não é sobre os detalhes das permissões de diretório, mas sobre a configuração de um ambiente restrito.
Gilles 'SO- stop be evil'
1
chrootSuponho que não há necessidade aqui, o problema pode ser facilmente resolvido definindo as permissões necessárias.
milos 21/06
3

Eu também não leio necessário para configurar chroots. para impedir a subida de diretórios pai, atribua uma permissão estrita.

$ mkdir --parent 1/2/3
$ ls 1
2
$ chmod 100 1
$ ls 1
ls: cannot open directory 1: Permission denied
$ ls 1/2
3

se queremos conceder a um usuário acesso a / home / 1, mas confinar o usuário a não ver quais são os outros materiais em / home que fabricamos / home pertencentes à mão root têm permissão 111. portanto, o usuário nunca sabe se / home / 2 já existe.

把 友情 留 在 无 盐
fonte