在CentOS系统中,SFTP(Secure File Transfer Protocol)权限管理主要通过配置OpenSSH服务器来实现。以下是详细的配置步骤和管理方法:
首先,创建一个专门用于SFTP的用户和用户组:
# 创建用户组
sudo groupadd sftp
# 创建用户并添加到sftp组
sudo useradd -g sftp -s /bin/false mysftp
为用户指定主目录,并设置相应的权限:
# 创建用户主目录
sudo mkdir -p /home/mysftp
# 设置目录权限
sudo chown root:sftp /home/mysftp
sudo chmod 755 /home/mysftp
# 将用户的主目录设置为chroot环境
sudo usermod -d /home/mysftp mysftp
编辑/etc/ssh/sshd_config
文件,配置SFTP子系统和相关选项:
# 启用internal-sftp子系统
sudo vi /etc/ssh/sshd_config
# 添加或修改以下配置
Subsystem sftp internal-sftp
Match group sftp
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
保存配置文件后,重启SSH服务以应用更改:
sudo systemctl restart sshd
使用SFTP客户端登录,验证用户是否能在指定的目录中进行文件操作:
sftp mysftp@your_server_ip
如果使用SELinux,需要确保其配置不会影响SFTP用户的访问:
# 临时禁用SELinux
sudo setenforce 0
# 永久禁用SELinux(不推荐在生产环境中使用)
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
相关推荐:CentOS SFTP日志管理方法