在CentOS系统中,您可以使用OpenSSH服务器来设置SFTP,并通过配置文件来限制用户的访问。以下是一些步骤和示例配置,帮助您实现这一目标:
安装OpenSSH服务器(如果尚未安装):
sudo yum install openssh-server
启动并启用SSH服务:
sudo systemctl start sshd
sudo systemctl enable sshd
创建一个新用户或使用现有用户:
sudo adduser sftpuser
sudo passwd sftpuser
配置SSHD配置文件:
编辑/etc/ssh/sshd_config
文件:
sudo vi /etc/ssh/sshd_config
添加或修改以下配置: 在文件中找到或添加以下内容:
# 限制SFTP用户的访问
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
创建一个组并添加用户到该组:
sudo groupadd sftpusers
sudo usermod -aG sftpusers sftpuser
设置用户的家目录权限: 确保用户的家目录及其父目录的权限设置正确,以便ChrootDirectory能够正常工作:
sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser
创建用户的实际工作目录:
sudo mkdir /home/sftpuser/upload
sudo chown sftpuser:sftpuser /home/sftpuser/upload
重启SSH服务:
sudo systemctl restart sshd
通过以上步骤,您已经成功限制了SFTP用户的访问。现在,sftpuser
只能访问其家目录下的upload
目录,并且无法使用SSH的其他功能(如端口转发)。
您可以通过以下步骤验证配置是否生效:
使用SFTP客户端连接到服务器:
sftp sftpuser@your_server_ip
尝试访问其他目录,应该会被拒绝:
cd /
尝试使用SSH的其他功能,也应该会被拒绝:
ssh sftpuser@your_server_ip
通过这些步骤,您可以确保SFTP用户的访问受到限制,并且只能访问指定的目录。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
相关推荐:如何限制CentOS SFTP用户访问