centos 创建sftp用户 只允许访问指定目录 的正确方式

来源:大谷哥 分类: 技术杂文 发布时间:2018-02-27 18:09:26 最后更新:2020-03-12 浏览:559
转载声明:
本文为摘录自“大谷哥”,版权归原作者所有。
原文链接:
温馨提示:
为了更好的体验,请点击原文链接进行浏览
摘录时间:
2018-02-27 18:09:26

文章转载自http://blog.csdn.net/zwl19920815/article/details/54893721

在原文的基础上做了一定的修改,方便我自己的理解及操作

         groupadd sftp 创建用户组 sftp
         useradd -s /sbin/nologin -M zwl 创建非ssh登录用户zwl          
         passwd zwl 密码 
         usermod -G sftp zwl 修改zwl的用户组为sftp         
         mkdir /home/zwl 创建/home/zwl目录          
         chown root:root /home/zwl 目录拥有者都只能是root          
         chmod 755 /home/zwl 不可以具有群组写入权限
         vim /etc/ssh/sshd_config 编辑sshd_config

5a952d140d4a7.png

service sshd restart 重启sshd服务 
mkdir /home/zwl/upload 
chown zwl:zwl /home/zwl/upload 
chmod 777 /home/zwl/upload
sftp -oPort=22 zwl@127.0.0.1 连接服务器测试

如果完全按照以上操作,可能会提示以下报错:

sftp Connection to  closed by remote host.

或者 Write failed: Broken pipe Couldn't read packet: Connection reset by peer

这个就是该用户根目录的权限问题,chown root:sftp /home/test 设置为root用户即可解决,目录权限为755

另外使用zwl登录sftp后,是不能直接在/home/zwl下面操作的,必须创建zwl用户的专属目录,用于文件部署操作


php技术微信