1、创建用户组

groupadd -g 666 amsftp # 查看用户组 cat /etc/group # 查看用户所在组 groups user01

2、为指定组创建用户

useradd -g amsftp user01

3、为用户创建密码

passwd user01 #输入密码

4、为用户创建专属目录,并授权

这里考虑到对所创建的SFTP用户进行读写目录的权限限制,故通过ChrootDirectory限制SFTP用户只能访问指定目录且不能进行SSH登录

mkdir -p /amsftp/user01/{in,out} #用户chrootDirctory 牢狱 chown root:root /amsftp/user01 chmod 755 /amsftp/user01 #用户操作目录 chown user01:amsftp /amsftp/user01/in chown user01:amsftp /amsftp/user01/out chmod 755 /amsftp/user01/in chmod 775 /amsftp/user01/out

5、禁用用户ssh连接

usermod user01 -s /sbin/nologin #恢复 usermod -s /sbin/bash user01

6、设置用户登录默认目录

usermod -d /amsftp/user01 user01

7、修改ssh配置

#修改配置 vi /etc/ssh/sshd_config #注释并添加内容 # Subsystem sftp /usr/libexec/openssh/sftp-server Subsystem sftp internal-sftp Match User user01 #此处设置控制的用户,也可以设置为组 ChrootDirectory /amsoft/user01 #允许用户访问的目录,此处我们设置为用户家目录 X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp

8、重启ssh并生效

service sshd restart #/etc/init.d/sshd reload #/etc/inti.d/sshd restart

9、校验SFTP账号创建情况

校验SFTP客户端登录(处在牢狱之中),仅仅能登录SFTP而SSH登录被禁用,达到了最初的预期效果

sntp 服务器架设(基础服务搭建-SFTP)(1)

10、异常处理

#追踪 tail -500f /var/log/message #干掉处理root用户的所有sshd进程 ps -ef | grep sshd | grep -v root | awk '{print $2}' | xargs kill -9 #重启sshd service sshd restart

,