在CentOS系统中,使用chroot可以限制SFTP用户的访问范围,使其只能访问特定目录。以下是设置chroot的步骤:
sudo yum install openssh-server openssh-clients
sftpuser的用户:sudo adduser sftpuser
设置密码:
sudo passwd sftpuser
uploads的目录,用于存放用户的文件:sudo mkdir /home/sftpuser/uploads
uploads目录的所有者和组,以便SFTP用户可以访问:sudo chown sftpuser:sftpuser /home/sftpuser/uploads
设置目录权限,以便只有所有者可以写入,其他用户只能读取和执行:
sudo chmod 755 /home/sftpuser/uploads
/etc/ssh/sshd_config文件,找到或添加以下内容:Match Group sftpusers
ChrootDirectory %h/uploads
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
这里,我们限制了sftpusers组的用户使用chroot。如果还没有创建这个组,请先创建:
sudo groupadd sftpusers
然后将sftpuser添加到sftpusers组:
sudo usermod -a -G sftpusers sftpuser
sshd_config文件的更改,并重启SSH服务以应用更改:sudo systemctl restart sshd
现在,SFTP用户sftpuser将被限制在其主目录下的uploads文件夹中。请注意,这些步骤可能因CentOS版本而异。如有需要,请查阅相应版本的文档。