
groupadd sftp
2.添加用户并设置为sftp组
useradd -g sftp -s /sbin/nologin -M sftp (/sbin/nologin为禁止登录shell的用户)
3.设置用户密码
passwd sftp
4.创建用户目录。并设置权限。
cd /home
mkdir sftp
chown root:sftp sftp
chmod 755 sftp
5.修改SSH配置
/etc/ssh/sshd_config
修改Subsystem
Subsystem sftp internal-sftp
6.在sshd_config添加用户配置
Match User sftp #限制的用户
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
ChrootDirectory /home/sftp #用户的根目录
7.最后重启SSH
/etc/init.d/ssh restart
END#
补充阅读#
解释 SFTP chroot 目录限制的配置思路,补充目录所有权与可写子目录的区别。
如何理解与使用#
ChrootDirectory 约束用户看到的根目录;该路径及上级目录的所有权、权限应符合 OpenSSH 要求。需要上传时通常另建用户可写子目录。
验证与边界#
使用目标用户验证上传、读取与越界访问,并确认其他用户不受 Match 段影响。修改配置后先做语法检查,再以新连接验收。
参考:OpenSSH sshd_config(本次补充核对)。
