在CentOS系统上配置SFTP(Secure File Transfer Protocol)的最佳实践包括以下几个方面:
安装和配置OpenSSH:
确保系统已安装OpenSSH软件包:
sudo yum install openssh-server
编辑/etc/ssh/sshd_config
文件,配置SFTP子系统:
Subsystem sftp internal-sftp
禁用root用户登录:
PermitRootLogin no
限制特定用户访问特定目录:
Match User sftpuser
ChrootDirectory /home/sftpuser
ForceCommand internal-sftp
创建SFTP用户和用户组:
创建用户组:
sudo groupadd sftp_users
创建SFTP用户并添加到用户组:
sudo useradd -m -G sftp_users -s /sbin/nologin sftpuser
设置用户密码:
sudo passwd sftpuser
设置SFTP用户目录权限:
创建用户主目录并设置权限:
sudo mkdir /home/sftpuser
sudo chown root:sftp_users /home/sftpuser
sudo chmod 755 /home/sftpuser
为用户创建上传目录并设置权限:
sudo mkdir /home/sftpuser/upload
sudo chown sftpuser:sftp_users /home/sftpuser/upload
sudo chmod 755 /home/sftpuser/upload
配置SELinux和防火墙:
禁用SELinux(如果需要):
sudo setenforce 0
关闭防火墙(如果需要):
sudo systemctl stop firewalld
sudo systemctl disable firewalld
重启SSH服务:
sudo systemctl restart sshd
测试SFTP连接: