在CentOS系统中,配置SFTP用户权限通常涉及编辑SSH配置文件(/etc/ssh/sshd_config
)和使用chroot
环境来限制用户的访问范围。以下是详细的步骤:
首先,打开SSH配置文件:
sudo vi /etc/ssh/sshd_config
确保以下行没有被注释掉,并且正确配置:
Subsystem sftp /usr/libexec/openssh/sftp-server
创建一个专门用于SFTP用户的组:
sudo groupadd sftpusers
添加一个新用户并将其添加到sftpusers
组中。例如,添加用户username
:
sudo useradd -m -G sftpusers username
sudo passwd username
在提示输入密码时,输入并确认密码。
为了限制用户的访问范围,可以使用chroot
环境。首先,确保/home/username
目录的所有者是root:
sudo chown root:root /home/username
然后,创建一个子目录供用户访问:
sudo mkdir /home/username/upload
sudo chown username:sftpusers /home/username/upload
编辑/etc/ssh/sshd_config
文件,添加或修改以下内容:
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
ChrootDirectory %h
:将用户的根目录限制在其主目录中。ForceCommand internal-sftp
:强制使用SFTP而不是SSH。AllowTcpForwarding no
和 X11Forwarding no
:禁用TCP和X11转发,增加安全性。保存并关闭sshd_config
文件后,重启SSH服务以应用更改:
sudo systemctl restart sshd
使用SFTP客户端连接到服务器,验证配置是否正确:
sftp username@your_server_ip
如果一切配置正确,你应该能够登录并只能访问/home/username/upload
目录。
通过以上步骤,你可以成功配置CentOS系统中的SFTP用户权限,并限制用户的访问范围。