Limitar um usuário ao seu próprio diretório pessoal

3

Eu tenho um usuário que pode até usar o sudo. Eu quero limitar seu acesso ao seu diretório home apenas. nada mais. Eu criei um grupo 'limitado' e o movi para esse grupo. Agora o que?

Como devo limitar seu acesso ao seu diretório pessoal apenas?

    
por KawaiKx 05.02.2016 / 08:07

2 respostas

3

É muito mais difícil impedir um acesso específico do que bloquear por padrão todo o acesso e adicionar exceções específicas para cada tipo de acesso. Existe até um termo atrativo para este princípio . Portanto, certifique-se de que os comandos que podem ser executados via sudo sejam explicitamente especificados para que o usuário nunca possa se tornar root usando-o. Depois disso, você tem algumas opções:

  • Restringir permissões de diretório (opção1). Certifique-se de que todos os diretórios no diretório raiz ( / ) no sistema tenham seu bit de execução desativado para os outros permissão grupo. Isso geralmente significa executar algo semelhante ao seguinte:

    $ chmod o-x <dir>
    

    Faça o mesmo para todos os diretórios onde o acima já foi executado, mas com um grupo ao qual esse usuário é membro (pelo menos o grupo limited de acordo com sua pergunta). Isso significa correr:

    $ chmod g-x <dir>
    

    Essa alteração da permissão de execução do diretório nos principais diretórios de nível superior pode não ser prática: é provável que existam processos importantes que dependem da possibilidade de alterar o diretório (por exemplo, / ou /var ) sem nenhuma configuração de permissão elaborada. Mas você poderia fazer isso por pelo menos alguns diretórios privados .

  • Use o chroot jail (opção 2). Eu acho que a opção realista é usar um chroot jail para que o usuário obtenha informações em um ambiente restrito imediatamente após o login. Além de configurar o ambiente chroot, o servidor OpenSSH também terá que ser configurado adequadamente. Isso pressupõe que o acesso ao sistema está disponível apenas por ssh . Alternativamente, você poderia usar o Jailkit que foi discutido aqui .

por 06.02.2016 / 13:56
1

No Unix, para fazer até mesmo as coisas mais básicas, um usuário precisa ter acesso a diversos recursos (executáveis, bibliotecas, arquivos de configuração, páginas de manual, exemplos, ...). Mesmo o que é considerado "comandos normais" como cp(1) , ls(1) , são programas regulares executados pelo usuário, que precisarão ser capazes de acessá-los. Os usuários precisam de acesso a grande parte do sistema, que não pode ser cortado sem tornar o sistema quase inútil.

Se você quiser que os usuários não consigam vasculhar os arquivos de outros usuários, isso é coberto pela (agora tradicional) configuração do Linux nas casas dos usuários: Digamos que o usuário do Joe Sixpack seja joe . Uma conta (UID) com o nome joe e com o grupo primário joe é criada para ele, sua casa é de propriedade de joe e group joe e permissões como dwrx------ (ou seja, joe podem ler , escreva e pesquise; ninguém no grupo joe exceto o próprio Joe e ninguém mais pode fazer nada).

    
por 06.02.2016 / 23:18