debian

SFTP配置中如何限制用户访问

小樊
44
2025-08-17 03:22:53
栏目: 编程语言

在SFTP配置中,可通过以下方式限制用户访问:

  1. 使用Chroot环境
    /etc/ssh/sshd_config中添加以下配置,将用户限制在其主目录:

    Match Group sftpusers  
        ChrootDirectory %h  
        ForceCommand internal-sftp  
        AllowTcpForwarding no  
        X11Forwarding no  
    
    • %h代表用户主目录,需确保主目录权限为root:root且权限为755
    • ForceCommand internal-sftp强制用户仅能使用SFTP,无法通过SSH登录。
  2. 文件权限控制

    • 用户主目录需由root拥有,子目录(如上传目录)可设置为用户可写:
      sudo mkdir /home/username/files  
      sudo chown username:username /home/username/files  
      sudo chmod 755 /home/username/files  
      
  3. 用户组管理
    创建专用用户组(如sftpusers),将需限制的用户加入该组,避免单独配置。

  4. 防火墙规则(可选)
    通过iptablesfirewalld限制SFTP访问的IP范围,例如:

    sudo iptables -A INPUT -p tcp --dport 22 -s allowed_ip -j ACCEPT  
    
  5. 禁用Shell访问
    确保用户shell为/sbin/nologin/bin/false,防止通过SSH登录:

    sudo usermod -s /sbin/nologin username  
    

配置后需重启SSH服务生效:

sudo systemctl restart sshd  

0
看了该问题的人还看了