在CentOS系统中,SFTP(SSH File Transfer Protocol)的权限设置主要涉及到以下几个方面:
创建用户和组:
sudo adduser sftpuser
sudo groupadd sftpusers
sudo usermod -aG sftpusers sftpuser
设置主目录权限:
确保SFTP用户的主目录权限设置正确,通常设置为755
或700
。
sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser
编辑SSH配置文件:
打开/etc/ssh/sshd_config
文件。
sudo vi /etc/ssh/sshd_config
配置SFTP子系统: 确保有以下配置行,并且没有被注释掉:
Subsystem sftp internal-sftp
限制SFTP用户的访问:
可以使用ChrootDirectory
指令将用户限制在其主目录中。
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
重启SSH服务: 应用配置更改后,重启SSH服务。
sudo systemctl restart sshd
检查SELinux状态:
sestatus
设置SELinux上下文: 如果SELinux处于 enforcing 模式,可能需要设置正确的文件系统上下文。
sudo chcon -Rt svirt_sandbox_file_t /home/sftpuser
永久设置SELinux上下文:
编辑/etc/selinux/config
文件,将SELINUX=enforcing
改为SELINUX=permissive
进行测试,确认无误后再改回enforcing
。
sudo vi /etc/selinux/config
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
sftp
命令测试连接。sftp sftpuser@your_server_ip
通过以上步骤,你应该能够在CentOS系统中成功设置SFTP的权限和访问控制。如果有任何问题,请检查日志文件(如/var/log/secure
)以获取更多信息。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:CentOS中SFTP权限如何设置