Restrinja o usuário de mudar para um diretório fora de / home / username

0

Como referência, estou no Ubuntu 12.04.5

Eu sinto que já olhei para cem deles e, por algum motivo, nenhum funcionou. Isto é provavelmente devido a uma falta de compreensão da minha parte sobre o que exatamente eu estou fazendo. O que estou tentando fazer é configurar um usuário e permitir que esse usuário tenha acesso ao diretório e a qualquer coisa em seu diretório pessoal. No entanto, eu não quero que eles sejam capazes de acessar qualquer coisa acima deste diretório inicial (o que significa que eles não devem ter permissão para alterar o diretório fazendo cd .. em /home/username ).

Aqui estão os passos que eu dei:

  1. Configurar o usuário username .
  2. Adicionado o usuário a um grupo especial para que eles e outros usuários possam editar alguns arquivos, podemos chamar isso de sgroup .
  3. Configure os arquivos username precisa ser capaz de executar coisas como mysql, ls, vim, etc., emitindo os seguintes comandos:

    [AS ROOT]
    mount --rbind /bin /home/username/sprg/bin
    mount --rbind /dev /home/username/sprg/dev
    mount --rbind /etc /home/username/sprg/etc
    mount --rbind /lib /home/username/sprg/lib
    mount --rbind /proc /home/username/sprg/proc
    mount --rbind /sbin /home/username/sprg/sbin
    mount --rbind /sys /home/username/sprg/sys
    mount --rbind /usr /home/username/sprg/usr
    

root atualmente possui tudo em sprg , incluindo a própria pasta.

  1. Editou /etc/ssh/sshd_config e alterou a linha: Subsystem sftp /usr/lib/openssh/sftp-server para Subsystem sftp internal-sftp . No final do arquivo, adicionei o seguinte:

    Match user username
        ChrootDirectory /home/username
        AllowTCPForwarding no
        ForceCommand internal-sftp
    
  2. ssh reiniciado via sudo service ssh restart .

Agora, quando eu altero meu usuário para username via su - username , ainda consigo visualizar arquivos e pastas fora do meu diretório /home/username . Observe também que root possui /home/username .

Para finalizar, tudo que eu quero fazer é fazer com que o usuário faça o login em um terminal via ssh, seja direcionado para o seu diretório pessoal (o que já acontece), e então não permita que eles acessem outro diretório A MENOS QUE esteja sob /home/username . Nesse caso, eles estão livres para fazer o que quiserem sob esse diretório.

Qualquer ajuda seria apreciada!

    
por Alex 12.04.2017 / 01:22

1 resposta

2

% bl0ck_qu0te%

Restrições no SSH não afetarão su . As configurações parecem boas para mim, então você deve testá-lo fazendo ssh username@localhost e sftp username@localhost . Como você disse que o usuário efetua login via SSH, considerando essas configurações, su não deveria ser um problema.

    
por muru 12.04.2017 / 05:05