分类
未分类

RHEL/Centos SSH服务和SFTP服务分离并限制sftp用户家目录记录

分离服务:

复制一份sshd服务

cp /usr/lib/systemd/system/sshd.service  /etc/systemd/system/sftpd.service
cp /etc/pam.d/sshd  /etc/pam.d/sftpd
cp /etc/ssh/sshd_config  /etc/ssh/sftpd_config
ln -sf  /usr/sbin/service  /usr/sbin/rcsftpd
ln -sf  /usr/sbin/sshd  /usr/sbin/sftpd
cp /etc/sysconfig/sshd  /etc/sysconfig/sftp

修改sftpd.service配置文件

vm /etc/systemd/system/sftpd.service

修改sftpd_config配置文件

vm /etc/ssh/sftpd_config

116行,将PidFile /var/run/sshd.pid改成PidFile /var/run/sftpd.pid

第132行,将
Subsystem  sftp  /usr/libexec/openssh/sftp-server
注释,并添以下5行

Subsystem sftp internal-sftp
Match User sftpuser1
         ChrootDirectory /data/sftpuser1
         X11Forwarding no
         AllowTcpForwarding no
         ForceCommand internal-sftp
Match User sftpuser2
         ChrootDirectory /data/sftpuser2
         X11Forwarding no
         AllowTcpForwarding no
         ForceCommand internal-sftp

ChrootDirectory可以锁定sftp用户的登录根目录,设置ChrootDirectory会遇到两个坑
1、 设置的目录 如:/data/user1 所属用户不能设置为user1:user1否则连不上 需要设置为root:user1
2、/data/user1 权限不能设置为777 否则也连不上 设置755可以连上 但用户在他的自己根下无法写入 所以在用户根下再建一个目录 /data/user1/data 这个目录可以自由设置归属和权限

发表评论

邮箱地址不会被公开。 必填项已用*标注