要限制Linux SFTP用户的访问,您可以采取以下措施:
使用专用用户组:
创建一个专门用于SFTP访问的用户组,并将需要限制访问的用户添加到该组中。
sudo groupadd sftp_users
为用户分配专用用户组:
将需要限制访问的用户添加到sftp_users组中。
sudo usermod -a -G sftp_users username
配置SSH和SFTP:
编辑/etc/ssh/sshd_config文件,以限制SFTP用户的访问权限。
sudo nano /etc/ssh/sshd_config
在文件中添加以下内容:
# 仅允许SFTP连接
Subsystem sftp internal-sftp
# 限制SFTP用户访问自己的主目录
Match Group sftp_users
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
保存并关闭文件。
为用户的家目录设置正确的权限:
确保用户的家目录及其子目录的所有者和权限设置正确,以便用户可以访问自己的文件,但不能访问其他用户的文件。
sudo chown root:root /home/username
sudo chmod 755 /home/username
重启SSH服务:
为了使更改生效,请重启SSH服务。
sudo systemctl restart ssh
现在,SFTP用户将被限制在其主目录中,并且只能访问自己的文件。请注意,这些步骤可能因发行版而异,但基本概念是相同的。