centos创建SFTP上传账号

1.创建sftp用户组

groupadd sftp

2.创建用户并限制用户登录SSH

useradd -g sftp -s /bin/false sanmu

3.设置用户密码

passwd sanmu

4.创建用户上传目录,并且修改成用户的home目录,修改目录权限

mkdir /var/www/video

mkdir /var/www/video/sanmu

usermod -d /var/www/video/sanmu  sanmu

chown -R sanmu:sftp /var/www/video/sanmu

5.设置 sshd_config

vi /etc/ssh/sshd_config

找到Subsystem sftp /user/libexec/openssh/sftp-server  前面加#注释掉

添加:

Subsystem sftp internal-sftp

UsePAM yes

Match user sanmu

ForceCommand internal-sftp

ChrootDirectory /var/www/video

多个用户重复配置这三行:

Match user sanmu

ForceCommand internal-sftp

ChrootDirectory /var/www/video

6.重启sshd服务

service sshd restart

7.错误

报错:Directive 'UseDNS' is not allowed within a Match block

解决:找到UseDNS no这行,将其放到第5步添加的代码的上面

遇到的问题:如果出现sftp连不是上或者马上断掉的问题,可能是ChrootDirectory 目录的权限问题,ChrootDirectory 目录的所有者必须是root并且该目录的上级目录的所有者也只能是root,而且只有所有者拥有写的权限。(碰到过两次,写下来记录一下,避免下次再犯)

可以灵活配置sanmu这个文件夹的权限,来判断多个用户是否共享读写

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容