在Debian系统中,使用OpenSSH服务器提供SFTP服务。要限制用户的访问权限,可以通过以下方法实现:
sudo adduser sftp_user
按照提示设置密码和其他信息。
/etc/passwd
文件,找到sftp_user的用户条目,将其家目录更改为一个特定的目录,例如/home/sftp_user
。sftp_user:x:1001:1001::/home/sftp_user:/bin/false
sudo mkdir /home/sftp_user/files
sudo chown sftp_user:sftp_user /home/sftp_user/files
/etc/ssh/sshd_config
文件,找到或添加以下内容:Match User sftp_user
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
这将限制sftp_user用户只能访问其家目录(在这种情况下为/home/sftp_user
)。
sudo systemctl restart ssh
现在,sftp_user用户应该只能通过SFTP访问,并且只能访问其家目录和子目录/home/sftp_user/files
。请注意,您可以根据需要为其他用户重复此过程,只需为每个用户创建一个单独的条目并相应地调整路径即可。