限制SFTP用户访问指定目录


10

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

最初我打算使用vsftpd,但有人告诉我sftp是更好的选择。如果有一些我需要的文档,那将是很好的。

我需要以下帮助:

  1. 如何配置SFTP
  2. 如何设置用户帐户并将其用于sftp
  3. 如何设置帐户入狱

Answers:


12

的设定 /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所有者。


谢谢回复!!不知道为什么,但是当我尝试直接向该组创建用户时。我收到以下错误... useradd:无法创建目录/ ftpusers / HomeFolder
scottsmail 2015年

首先运行sudo mkdir /ftpusers,然后sudo mkdir /ftpusers/HomeFolder
2707974

谢谢。好了,下一个问题......当我尝试用SSH与CHOWN根SFTP使用设置权限:根HomeFolder我得到执行chown:无法访问“HomeFolder”:没有这样的文件或目录
scottsmail

chown root:root /ftpusers/HomeFolderchmod 755 /ftpusers/HomeFolder
2707974

UsePAM yes为我毁了一切,并导致“连接被拒绝”。不知道为什么,但是注释掉所有内容会使一切正常运行。
pzkpfw
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.