在Debian系统中配置SFTP用户组,可以按照以下步骤进行:
首先,创建一个新的用户组来管理SFTP用户。你可以使用groupadd
命令来创建组。
sudo groupadd sftpusers
接下来,创建一个新用户并将其添加到你刚刚创建的组中。你可以使用useradd
命令来创建用户,并使用-G
选项将其添加到指定的组。
sudo useradd -m -G sftpusers username
-m
选项表示创建用户的主目录。-G
选项用于指定用户所属的附加组。为新用户设置一个密码。
sudo passwd username
按照提示输入并确认密码。
编辑SSH配置文件/etc/ssh/sshd_config
,以限制SFTP用户的访问权限。
sudo nano /etc/ssh/sshd_config
在文件中找到或添加以下内容:
# 限制SFTP用户的访问
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
Match Group sftpusers
表示对属于sftpusers
组的用户应用以下配置。ChrootDirectory %h
将用户的根目录限制在其主目录中。ForceCommand internal-sftp
强制使用SFTP而不是SSH。AllowTcpForwarding no
和 X11Forwarding no
禁止TCP和X11转发。确保用户的根目录及其所有父目录的权限设置正确,以便SSH可以正确地进行chroot操作。
sudo chown root:root /home/username
sudo chmod 755 /home/username
# 创建用户的上传目录并设置权限
sudo mkdir /home/username/uploads
sudo chown username:sftpusers /home/username/uploads
sudo chmod 755 /home/username/uploads
最后,重启SSH服务以应用更改。
sudo systemctl restart sshd
使用新创建的用户登录并测试SFTP连接。
sftp username@your_server_ip
你应该能够成功连接并进行文件传输。
通过以上步骤,你就可以在Debian系统中配置SFTP用户组,并限制用户的访问权限。