温馨提示×

如何设置CentOS的SFTP用户权限

小樊
45
2025-12-09 15:18:20
栏目: 智能运维

在CentOS系统中,设置SFTP用户权限通常涉及以下几个步骤:

  1. 创建新用户(如果尚未创建):

    sudo adduser username
    
  2. 设置用户密码

    sudo passwd username
    
  3. 限制用户只能通过SFTP访问: 编辑/etc/ssh/sshd_config文件:

    sudo vi /etc/ssh/sshd_config
    

    找到并修改以下行:

    Subsystem sftp /usr/libexec/openssh/sftp-server
    

    确保没有其他Subsystem sftp行干扰。

  4. 创建一个SFTP chroot环境: 创建一个目录用于chroot环境:

    sudo mkdir /home/username/sftp
    sudo chown root:root /home/username/sftp
    sudo chmod 755 /home/username/sftp
    
  5. 将用户主目录设置为chroot环境: 编辑/etc/passwd文件,将用户的shell设置为/usr/sbin/nologin或自定义的shell:

    sudo vi /etc/passwd
    

    找到用户行并修改为:

    username:x:1001:1001::/home/username:/usr/sbin/nologin
    
  6. 设置用户主目录的权限: 确保用户主目录及其子目录的权限设置正确:

    sudo chown username:username /home/username
    sudo chmod 755 /home/username
    
  7. 配置SFTP chroot环境: 创建一个authorized_keys文件用于SSH密钥认证:

    sudo vi /home/username/.ssh/authorized_keys
    

    将用户的公钥粘贴到这个文件中。

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

    sudo systemctl restart sshd
    

通过以上步骤,你可以设置CentOS系统中的SFTP用户权限,确保用户只能通过SFTP访问,并且限制其在系统中的活动范围。

0