# 创建sftp系统用户并禁用ssh登录 useradd -s /sbin/nologin sftp1 #设置或修改sftp1登录 echo "123456@sftp1" |passwd --stdin sftp1 # 配置sshd_config vi /etc/ssh/sshd_config 找到如下这行,用#符号注释掉。 # Subsystem sftp /usr/libexec/openssh/sftp-server # 在文件最后面添加如下几行内容 Subsystem sftp internal-sftp #匹配用户 Match User sftp1 ChrootDirectory /data/sftp/sftp1 ForceCommand internal-sftp AllowTcpForwarding no # 非必须 X11Forwarding no # 非必须 #设定Chroot目录权限(必须),用户目录以及组目录以及数据根目录都要设置为755 权限,不要太高,否则可能报Permission denied的异常 mkdir -p /data/sftp/sftp1 chown root:root /data/sftp/sftp1 chmod 755 /data -R #建立SFTP用户登入后可写入的目录upload mkdir /data/sftp/sftp1/upload chown sftp1 /data/sftp/sftp1/upload #给upload以及下级文件授权777,否则可能报Permission denied的异常 chmod 777 /data/sftp/sftp1/upload -R #重新启动 sshd 服务: systemctl restart sshd.service
最后使用flashfxp输入账号sftp1 ,密码: 123456@sftp1 登录即可。
2、添加用户组以及用户并设置配置文件#创建用户组sftp以及新用户sftp1 groupadd sftp adduser sftp1 #将用户添加到用户组 useradd -G sftp -s /sbin/nologin sftp1 #设置该用户密码 passwd 123456@sftp1 #禁止该用户shell登录 usermod -s /bin/false sftp1 #设置sshd_config vi /etc/ssh/sshd_config 找到如下这行,用#符号注释掉。 # Subsystem sftp /usr/libexec/openssh/sftp-server #找到 Subsystem sftp 这一行,修改成: Subsystem sftp internal-sftp Match Group sftp UsePAM yes #用chroot将用户的根目录指定到%h,%h代表用户home目录,这样用户 就只能在用户目录下活动。也可用%u,%u代表用户名 ChrootDirectory /data/sftp/%u ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no #设定Chroot目录权限(必须),用户目录sftp1以及组目录sftp以及数据根目录data都要设置为755 权限,不要太高,否则可能报Permission denied的异常 mkdir -p /data/sftp/sftp1 chown root:root /data/sftp/sftp1 chmod 755 /data -R #建立SFTP用户登入后可写入的目录upload mkdir /data/sftp/sftp1/upload chown sftp1 /data/sftp/sftp1/upload #给upload以及下级文件授权777,否则可能报Permission denied的异常 chmod 777 /data/sftp/sftp1/upload -R #重新启动 sshd 服务: systemctl restart sshd.service
最后使用flashfxp输入账号sftp1 ,密码: 123456@sftp1 登录即可。
3、删除用户并重新创建用户#如果已有用户,清除掉 userdel sftp1 rm -rf /home/sftp1 rm -rf /var/spool/mail/sftp1 #新建sftp组、具体用户sftp1 groupadd sftp adduser sftp1 useradd -G sftp -s /sbin/nologin sftp1 passwd 123456@sftp1 #修改ssh配置文件 vi /etc/ssh/sshd_config 找到如下这行,用#符号注释掉。 #Subsystem sftp /usr/libexec/openssh/sftp-server Subsystem sftp internal-sftp UsePAM yes #用chroot将用户的根目录指定到%h,%h代表用户home目录,这样用户 就只能在用户目录下活动。也可用%u,%u代表用户名 ChrootDirectory /data/sftp/%u ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no #设定Chroot目录权限(必须),用户目录以及组目录以及数据根目录都要设置为755 权限,不要太高,否则可能报Permission denied的异常 mkdir -p /data/sftp/sftp1 chown root:root /data/sftp/sftp1 chmod 755 /data -R #建立SFTP用户登入后可写入的目录upload mkdir /data/sftp/sftp1/upload chown sftp1 /data/sftp/sftp1/upload #给upload以及下级文件授权777,否则可能报Permission denied的异常 chmod 777 /data/sftp/sftp1/upload -R #重启ssh service sshd restart
最后使用flashfxp输入账号sftp1 ,密码: 123456@sftp1 登录即可。



