在CentOS系统中,使用Chroot Jail可以限制SFTP用户的访问范围,提高系统安全性。以下是配置Chroot Jail的步骤:
确保已经安装了OpenSSH服务器和xinetd。如果没有,请使用以下命令安装:
sudo yum install openssh-server xinetd
创建一个新用户,用于SFTP访问。例如,创建一个名为sftpuser
的用户:
sudo adduser sftpuser
sudo passwd sftpuser
在/home
目录下创建一个名为sftpuser
的目录,用于存放用户的文件:
sudo mkdir /home/sftpuser
将用户的主目录更改为sftpuser
:
sudo chown sftpuser:sftpuser /home/sftpuser
编辑/etc/ssh/sshd_config
文件,找到以下行并进行修改:
Subsystem sftp /usr/libexec/openssh/sftp-server
在文件末尾添加以下内容:
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
这里,我们限制了属于sftpusers
组的用户使用SFTP,并将其chroot到其主目录。
创建一个名为sftpusers
的新组,并将sftpuser
添加到该组:
sudo groupadd sftpusers
sudo usermod -a -G sftpusers sftpuser
编辑/etc/xinetd.d/sftp
文件,找到以下行并进行修改:
service sftp
{
将其更改为:
service sftp
{
disable = no
重启sshd和xinetd服务以应用更改:
sudo systemctl restart sshd
sudo systemctl restart xinetd
现在,SFTP用户将被限制在其主目录中,无法访问其他用户的文件或系统文件。