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这个文件夹的权限,来判断多个用户是否共享读写

你可能感兴趣的:(centos创建SFTP上传账号)