linux创建用户并限制根目录

1. 创建用户及设置家目录​

sudo useradd -m -d /home/demouser -s /bin/false demouser
  • -m:自动创建用户家目录(/home/demouser)。
  • -d /home/demouser:指定家目录路径。
  • -s /bin/false:禁止用户登录Shell(仅允许SFTP)。

​​2. 设置密码​​

sudo passwd demouser

输入并确认密码(建议使用强密码)。


​​3. 修改SSH配置(限制SFTP)​​

编辑 /etc/ssh/sshd_config

sudo vim /etc/ssh/sshd_config

在文件末尾添加:

Match User demouser
    ForceCommand internal-sftp
    ChrootDirectory /home/demouser
    PermitTunnel no
    AllowAgentForwarding no
    AllowTcpForwarding no
    X11Forwarding no

 

  • ForceCommand internal-sftp:强制用户仅使用SFTP。
  • ChrootDirectory /home/demouser:将用户限制在家目录(​​注意目录权限​​)。
  • 其他选项禁用端口转发等高级功能以增强安全性。

4. 设置目录权限​

sudo chown root:root /home/demouser
sudo chmod 755 /home/demouser
  • ​​关键步骤​​:ChrootDirectory 必须由 root 拥有且其他用户不可写(权限建议 755)。

若用户需要上传文件,需在/home/demouser下创建子目录并授权:

sudo mkdir /home/demouser/upload
sudo chown demouser:demouser /home/demouser/upload
sudo chmod 755 /home/demouser/upload  # 或 775 根据需求调整

5. 重启SSH服务​

sudo systemctl restart sshd

 

 

posted @ 2025-06-12 15:36  那知归不归  阅读(121)  评论(0)    收藏  举报