↓ 跳过正文

Linux通过sftp来上传文件,并保证用户在固定的目录下

正能量 1 分钟阅读 更新于 2026-10-18

解释 SFTP chroot 目录限制的配置思路,补充目录所有权与可写子目录的区别。

Linux 系统:原站配图。

Linux通过sftp来上传文件,并保证用户在固定的目录下配图
1.创建用户

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(本次补充核对)。