限制 SFTP 用户访问指定目录

限制 SFTP 用户访问指定目录

我有一台安装了开放 ssh 的 Ubuntu 14.04 服务器。我想配置 sftp,让客户只能下载文件。换句话说,我将文件放在一个被限制的目录中。我需要确保他们只能访问包含其文件的目录,而不能访问其他任何内容。

最初我打算使用 vsftpd,但有人告诉我 sftp 是更好的选择。如果有我需要的文档就太好了。

我需要以下方面的帮助:

  1. 如何配置 sftp
  2. 如何设置用户帐户并将其用于 sftp
  3. 如何将账户关进监狱

答案1

设置/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

设置使用 ssh 进行 sftp 的权限:

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

重启服务:

service ssh restart

请注意,新 sftp 用户的主文件夹必须被赋予 root 所有者。

相关内容