SSH&SFTP服务分离+家目录锁定

Step 1 在root用户下创建维护账号的家目录,此处以创建userftp帐号的家目录为例。

mkdir -p /chroot/home/user

Step 2 在root用户根目录下执行以下命令设置各目录权限。

chown -R root:root /chroot /chroot/home /chroot/home/user
chmod 755 /chroot /chroot/home/user

Step 3 创建SFTP用户并加入sftponly用户组中。

useradd -d /chroot/home/user -G sftponly -s /bin/false -m userftp 
passwd userftp

Step 4 在root用户下创建需要镜像的目录。

mkdir -p /chroot/home/user/tomcat/logs

Step 5 在root用户根目录下执行以下命令设置各目录权限。

chown -R userftp:100 /chroot/home/user/tomcat/logs 
chmod 755 /chroot/home/user/tomcat/logs

Step 6 绑定镜像目录。

mount --bind -o ro /home/user/tomcat/logs /chroot/home/user/tomcat/logs

备注:单板重启时,需要将绑定镜像目录命令加在/etc/fstab文件中。

Step 7 修改SFTP配置文件。

echo "Match user userftp" >> /etc/ssh/sftpd_config 
echo ' ChrootDirectory %h' >> /etc/ssh/sftpd_config 
echo " Forcecommand internal-sftp -l INFO -f AUTH" >> /etc/ssh/sftpd_config 
echo "Match" >> /etc/ssh/sftpd_config 
/etc/init.d/sftpd restart

Step 8 修改SSH配置文件。

echo "Match user userftp" >> /etc/ssh/sshd_config 
echo ' ChrootDirectory %h' >> /etc/ssh/sshd_config 
echo " Forcecommand internal-sftp -l INFO -f AUTH" >> /etc/ssh/sshd_config 
echo "Match" >> /etc/ssh/sshd_config 
/etc/init.d/sshd restart

Step 9 设置sftp服务开机自启动。

chkconfig --level 35 sftpd on
原文地址:https://www.cnblogs.com/zihanxing/p/6852741.html