Limitar o acesso do usuário SFTP ao diretório especificado

10

Eu tenho um servidor Ubuntu 14.04 instalado com o ssh aberto. Gostaria de configurar o sftp para que os clientes possam baixar apenas arquivos. Em outras palavras, eu coloco os arquivos em um diretório no qual eles estão presos. Eu preciso garantir que eles possam acessar o diretório apenas com seus arquivos e nada mais.

Originalmente eu ia usar o vsftpd, mas alguém me disse que o sftp é a melhor opção. Se houver alguma documentação sobre o que eu preciso, isso seria ótimo.

Preciso de ajuda com o seguinte:

  1. Como configurar o sftp
  2. Como configurar contas de usuário e usá-las para sftp
  3. Como definir contas para cadeia
scottsmail
fonte

Respostas:

12

Configurações para /etc/ssh/sshd_config

Subsystem sftp internal-sftp -f AUTH -l VERBOSE
UsePAM yes
Match group sftp
  ChrootDirectory %h
  ForceCommand internal-sftp
  AllowTcpForwarding no

criar grupo sftp:

groupadd sftp

Criar diretório

sudo mkdir /ftpusers
sudo mkdir /ftpusers/HomeFolder

Crie usuário diretamente com o novo grupo sftp anexado:

sudo useradd -d /ftpusers/HomeFolder -m UserName -g sftp -s /bin/false
sudo passwd UserName

defina permissões para uso com ssh para sftp:

chown root:root /ftpusers/HomeFolder
chmod 755 /ftpusers/HomeFolder

reinicie o serviço:

service ssh restart

Observe que a pasta pessoal do novo usuário sftp deve receber o proprietário raiz.

2707974
fonte
Obrigado pela resposta!! Não sei por que, mas quando tento criar um usuário diretamente para o grupo. Estou recebendo o seguinte erro ... useradd: não é possível criar o diretório / ftpusers / HomeFolder
scottsmail
Execute primeiro sudo mkdir /ftpuserse depoissudo mkdir /ftpusers/HomeFolder
2707974 20/03/2015
Obrigado. Ok, próximo problema ... Quando tento definir permissões para uso com ssh para sftp com chown root: HomeFolder root recebo chown: não consigo acessar 'HomeFolder': nenhum arquivo ou diretório
desse tipo #
chown root:root /ftpusers/HomeFolderechmod 755 /ftpusers/HomeFolder
2707974 20/03/2015
UsePAM yesestraga tudo para mim e causa "conexão recusada". Não sei por que, mas comentar essa linha faz com que tudo funcione perfeitamente.
Pzkpfw 22/03