温馨提示×

CentOS SFTP如何设置用户权限

小樊
40
2025-02-20 20:15:20
栏目: 智能运维
Centos服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在CentOS系统中,使用SFTP(SSH File Transfer Protocol)为用户提供文件传输服务时,可以通过配置SSH和SFTP来设置用户权限。以下是一些基本步骤:

  1. 创建用户: 如果你还没有创建用户,可以使用useradd命令来创建一个新用户。例如:

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

    sudo passwd username
    
  3. 限制用户的shell访问: 为了安全起见,你可以限制SFTP用户只能使用SFTP,而不能通过SSH登录。编辑/etc/passwd文件,将用户的默认shell更改为/sbin/nologin或者使用chsh命令:

    sudo usermod -s /sbin/nologin username
    

    或者

    sudo chsh -s /sbin/nologin username
    
  4. 配置SSH: 编辑/etc/ssh/sshd_config文件来配置SSH服务。确保以下设置存在并且没有被注释掉:

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

    这告诉SSH使用内置的SFTP服务器而不是默认的shell。

  5. 限制用户的文件系统访问: 你可以使用chroot来限制SFTP用户只能访问特定的目录。首先,确保ChrootDirectory指令没有被注释掉,并且指向一个有效的目录。例如:

    Match Group sftpusers
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    

    这里,Match Group sftpusers表示下面的设置只适用于sftpusers组的用户。ChrootDirectory %h将用户的根目录限制在其主目录中。ForceCommand internal-sftp强制用户使用SFTP。AllowTcpForwarding noX11Forwarding no禁用了TCP和X11转发。

  6. 创建用户组(可选): 如果你想将多个用户添加到同一个组中并给予相同的权限,可以创建一个新组并添加用户到该组:

    sudo groupadd sftpusers
    sudo usermod -aG sftpusers username
    
  7. 重启SSH服务: 为了使更改生效,需要重启SSH服务:

    sudo systemctl restart sshd
    
  8. 设置目录权限: 确保用户的家目录和任何他们需要访问的目录都有正确的权限。例如,你可以使用以下命令来设置用户的家目录权限:

    sudo chown root:root /home/username
    sudo chmod 755 /home/username
    

请注意,这些步骤可能需要根据你的具体需求进行调整。始终确保遵循最佳安全实践,并定期审查和更新系统配置。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:CentOS SFTP 用户权限怎么设置

0