在CentOS上配置SFTP用户组,可以按照以下步骤进行:
首先,创建一个新的用户组来管理SFTP用户。
sudo groupadd sftpusers
接下来,创建一个新的用户并将其添加到刚刚创建的用户组中。
sudo useradd -m -g sftpusers your_username
-m
选项用于创建用户的主目录。-g
选项用于指定用户的主组。为新用户设置一个密码。
sudo passwd your_username
按照提示输入并确认密码。
编辑SSH配置文件 /etc/ssh/sshd_config
。
sudo nano /etc/ssh/sshd_config
找到并修改以下行:
Subsystem sftp internal-sftp
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
Subsystem sftp internal-sftp
:指定使用内部SFTP子系统。Match Group sftpusers
:匹配属于sftpusers
组的用户。ChrootDirectory %h
:将用户的根目录限制在其主目录中。ForceCommand internal-sftp
:强制使用SFTP命令。AllowTcpForwarding no
和 X11Forwarding no
:禁用TCP和X11转发。确保用户的主目录存在并且权限正确。
sudo chown root:root /home/your_username
sudo chmod 755 /home/your_username
在用户的主目录下创建一个实际的工作目录,并设置适当的权限。
sudo mkdir /home/your_username/upload
sudo chown your_username:sftpusers /home/your_username/upload
sudo chmod 755 /home/your_username/upload
最后,重启SSH服务以应用更改。
sudo systemctl restart sshd
确保配置正确无误后,可以使用SFTP客户端连接到服务器,并验证用户是否只能访问其主目录和工作目录。
sftp your_username@your_server_ip
按照提示输入密码,然后尝试导航到不同的目录以验证权限设置。
通过以上步骤,你就可以在CentOS上成功配置SFTP用户组,并限制用户的访问权限。