在Debian系统中,使用OpenSSH服务器提供SFTP服务。要限制用户访问,可以通过修改sshd_config
文件和使用chroot
来实现。以下是详细步骤:
sudo apt-get update
sudo apt-get install openssh-server
sshd_config
文件:
使用文本编辑器打开/etc/ssh/sshd_config
文件。例如,使用nano编辑器:sudo nano /etc/ssh/sshd_config
在sshd_config
文件中,找到或添加以下设置:
Subsystem sftp internal-sftp
sftp_users
):sudo groupadd sftp_users
sudo usermod -aG sftp_users your_username
sshd_config
文件中,添加以下设置以限制用户组的SFTP访问:Match Group sftp_users
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
这里,%h
表示用户的家目录。ForceCommand internal-sftp
强制用户使用SFTP,而AllowTcpForwarding no
和X11Forwarding no
禁用了TCP和X11转发。
保存并关闭sshd_config
文件。
重启SSH服务以应用更改:
sudo systemctl restart ssh
现在,已成功限制了指定用户组的SFTP访问。这些用户只能访问自己的家目录,并且无法使用SSH的其他功能。