linux

如何在Linux SFTP中设置用户权限

小樊
51
2025-09-21 12:41:17
栏目: 智能运维

在Linux系统中,通过SFTP(SSH File Transfer Protocol)设置用户权限,通常涉及以下几个步骤:

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

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

    sudo passwd username
    
  3. 配置SSH访问: 确保SSH服务正在运行,并且允许SFTP访问。编辑/etc/ssh/sshd_config文件:

    sudo nano /etc/ssh/sshd_config
    

    找到并确保以下行没有被注释掉(即没有#在行首):

    Subsystem sftp /usr/lib/openssh/sftp-server
    

    并且确保以下行存在并且没有被注释掉:

    AllowUsers username
    

    这将限制只有username用户可以通过SFTP访问。

  4. 设置用户目录权限: 确保用户的家目录权限设置正确,以便用户只能访问自己的文件。通常,家目录的权限应该设置为755(即rwxr-xr-x):

    sudo chmod 755 /home/username
    

    并且确保用户的家目录的所有者是该用户:

    sudo chown username:username /home/username
    
  5. 限制用户的SFTP访问: 如果你想进一步限制用户的SFTP访问,可以使用chroot jail。编辑/etc/ssh/sshd_config文件,添加或修改以下内容:

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

    这将把用户的根目录限制在他们的家目录中,并且只允许SFTP访问。

  6. 重启SSH服务: 保存并关闭sshd_config文件后,重启SSH服务以应用更改:

    sudo systemctl restart sshd
    

通过以上步骤,你应该能够在Linux系统中成功设置SFTP用户权限。请根据你的具体需求调整配置。

0
看了该问题的人还看了