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