在CentOS系统中,要设置SFTP的数据存储路径,你需要编辑SSH配置文件并指定chroot环境。以下是详细步骤:
使用文本编辑器(如vim、nano等)打开/etc/ssh/sshd_config文件。例如,使用vim编辑器,运行以下命令:
sudo vim /etc/ssh/sshd_config
在sshd_config文件中,找到或添加以下配置:
# 设置SFTP子系统
Subsystem sftp internal-sftp
# 限制SFTP用户的根目录
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
这里,我们创建了一个名为sftpusers的用户组,并将SFTP用户的根目录限制在其主目录(%h表示用户的主目录)。
创建一个名为sftpusers的用户组,并将需要使用SFTP的用户添加到该组。例如,创建一个名为sftpuser的用户并将其添加到sftpusers组:
sudo groupadd sftpusers
sudo useradd -m -G sftpusers sftpuser
为新用户设置密码:
sudo passwd sftpuser
确保SFTP用户的主目录及其子目录的权限设置正确。例如,将sftpuser的主目录所有权更改为root,并设置适当的权限:
sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser
保存并关闭sshd_config文件后,重启SSH服务以应用更改:
sudo systemctl restart sshd
现在,SFTP用户应该只能访问其主目录及其子目录,无法访问其他用户的目录或系统文件。