限制SFTP用户访问指定目录

我有一个安装了打开ssh的Ubuntu 14.04服务器。 我想为客户配置sftp,以便只能下载文件。 换句话说,我将文件放在他们被监禁的目录中。 我需要确保他们只能使用他们的文件访问目录,而不是其他任何东西。

最初我打算使用vsftpd,但是有人告诉我sftp是更好的选择。 如果有一些关于我需要的文件会很棒。

我需要以下方面的帮助:

  1. 如何配置sftp
  2. 如何设置用户帐户并将其用于sftp
  3. 如何将帐户设置为jail

/etc/ssh/sshd_config

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

创建组sftp:

 groupadd sftp 

创建目录

 sudo mkdir /ftpusers sudo mkdir /ftpusers/HomeFolder 

使用附加的新sftp组直接创建用户:

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

为sftp设置与ssh一起使用的权限:

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

重启服务:

 service ssh restart 

请注意,必须为root用户提供新sftp用户的主文件夹。