centos 创建sftp用户 只允许访问指定目录 的正确方式
文章转载自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
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用户的专属目录,用于文件部署操作