在CentOS系统中,您可以通过以下步骤创建一个用于SFTP的用户:
登录到服务器: 使用SSH登录到您的CentOS服务器。
创建新用户:
使用useradd
命令创建一个新用户。例如,创建一个名为sftpuser
的用户:
sudo useradd sftpuser
设置密码:
使用passwd
命令为新用户设置密码:
sudo passwd sftpuser
按照提示输入并确认密码。
限制用户的shell访问:
为了确保用户只能通过SFTP访问,而不是SSH,您可以将用户的默认shell更改为/sbin/nologin
或/bin/false
。这样,用户登录后将无法使用shell。
sudo usermod -s /sbin/nologin sftpuser
配置SSH和SFTP:
编辑SSH配置文件/etc/ssh/sshd_config
,确保以下配置项存在并且没有被注释掉:
Subsystem sftp internal-sftp
这将启用内建的SFTP子系统。
创建用户的家目录: 确保用户的家目录存在,并且权限设置正确:
sudo mkdir -p /home/sftpuser
sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser
配置用户的访问权限:
您可以使用chroot
来限制用户只能访问其家目录。编辑SSH配置文件/etc/ssh/sshd_config
,添加或修改以下内容:
Match User sftpuser
ChrootDirectory /home/sftpuser
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
这将确保sftpuser
只能访问其家目录,并且不能进行TCP和X11转发。
重启SSH服务: 使配置生效,重启SSH服务:
sudo systemctl restart sshd
完成以上步骤后,您就可以使用新创建的用户sftpuser
通过SFTP连接到服务器了。确保防火墙允许SFTP连接(默认端口22)。