Linux 限制SFTP用户只能访问某个目录
1. 新建用户并设置密码
>
useradd
suser
>
passwd
suser
//
输入密码
2. 设置sshd配置文件
>
cd
/etc/ssh/
>
cp
sshd_config sshd_config.back
//
备份
>
vi
sshd_config
//
注释该行 不注释的话会报错
#Subsystem sftp /usr/libexec/openssh/sftp-server
#这行指定使用sftp服务使用系统自带的internal-sftp
Subsystem sftp internal-sftp
#这行用来限制四川CA,不允许访问其他目录
Match User ca
#用chroot将用户的根目录指定到 /home/ca,这样用户就只能在 /home/ca下活动
ChrootDirectory /home/ca
#这行用来匹配用户
Match User userkj
#用chroot将用户的根目录指定到/home/userkj,这样用户就只能在/home/userkj下活动
ChrootDirectory /home/userkj
#其他用户继续添加......
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
3. 重启sshd服务
> service sshd restart
>systemctl restart sshd
已经成功实现了
Linux 限制SFTP用户只能访问某个目录。
2. 重启sshd时报错:Starting sshd: /etc/ssh/sshd_config line 141: Subsystem 'sftp' already defined.
原因:忘记把Subsystem注释,导致/etc/ssh/sshd_config同时存在有两个Subsystem节点