在 CentOS 上管理 SFTP 用户权限,通常涉及以下几个步骤:
创建用户和用户组: 首先,你需要创建一个用户和一个用户组来管理 SFTP 用户。
# 创建用户
sudo useradd -m sftpuser1
sudo passwd sftpuser1
# 设置密码
sudo echo "sftpuser1:password" | chpasswd
# 创建用户组(可选)
sudo groupadd sftpgroup
配置 SFTP 服务: 确保你已经安装了 OpenSSH 服务器,并且启用了 SFTP 功能。
sudo yum install openssh-server
sudo systemctl start sshd
sudo systemctl enable sshd
配置 SSH 权限:
编辑 /etc/ssh/sshd_config
文件,确保以下配置项已经设置或取消注释:
Subsystem sftp /usr/libexec/openssh/sftp-server
PasswordAuthentication yes
AllowUsers sftpuser1
如果你希望将用户添加到特定的用户组,可以使用 Match Group
配置项:
Match Group sftpgroup
PasswordAuthentication yes
设置文件权限:
确保用户的家目录和 .ssh
目录的权限设置正确。
sudo chown sftpuser1:sftpgroup /home/sftpuser1
sudo chmod 755 /home/sftpuser1
sudo chown sftpuser1:sftpgroup /home/sftpuser1/.ssh
sudo chmod 700 /home/sftpuser1/.ssh
配置 SELinux(可选): 如果你启用了 SELinux,可能需要额外的配置来允许 SFTP 访问。
sudo setsebool -P httpd_can_network_connect 1
sudo semanage port -a -t ssh_port_t -p tcp 22
重启 SSH 服务: 修改配置文件后,重启 SSH 服务以应用更改。
sudo systemctl restart sshd
通过以上步骤,你可以有效地管理 CentOS 上的 SFTP 用户权限。确保在配置过程中仔细检查每个步骤,以避免潜在的安全问题。