centos

CentOS SFTP如何创建用户

小樊
64
2025-04-06 16:21:00
栏目: 智能运维

在CentOS系统中,您可以通过以下步骤创建一个用于SFTP的用户:

  1. 登录到服务器: 使用SSH登录到您的CentOS服务器。

  2. 创建新用户: 使用useradd命令创建一个新用户。例如,创建一个名为sftpuser的用户:

    sudo useradd sftpuser
    
  3. 设置密码: 使用passwd命令为新用户设置密码:

    sudo passwd sftpuser
    

    按照提示输入并确认密码。

  4. 限制用户的shell访问: 为了确保用户只能通过SFTP访问,而不是SSH,您可以将用户的默认shell更改为/sbin/nologin/bin/false。这样,用户登录后将无法使用shell。

    sudo usermod -s /sbin/nologin sftpuser
    
  5. 配置SSH和SFTP: 编辑SSH配置文件/etc/ssh/sshd_config,确保以下配置项存在并且没有被注释掉:

    Subsystem sftp internal-sftp
    

    这将启用内建的SFTP子系统。

  6. 创建用户的家目录: 确保用户的家目录存在,并且权限设置正确:

    sudo mkdir -p /home/sftpuser
    sudo chown root:root /home/sftpuser
    sudo chmod 755 /home/sftpuser
    
  7. 配置用户的访问权限: 您可以使用chroot来限制用户只能访问其家目录。编辑SSH配置文件/etc/ssh/sshd_config,添加或修改以下内容:

    Match User sftpuser
        ChrootDirectory /home/sftpuser
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    

    这将确保sftpuser只能访问其家目录,并且不能进行TCP和X11转发。

  8. 重启SSH服务: 使配置生效,重启SSH服务:

    sudo systemctl restart sshd
    

完成以上步骤后,您就可以使用新创建的用户sftpuser通过SFTP连接到服务器了。确保防火墙允许SFTP连接(默认端口22)。

0
看了该问题的人还看了