12.创建sftp服务器

  1. 切换到root用户
sudo su
  1. 创建用户vmax_user,并禁止ssh登录,不创建家目录
useradd -s /sbin/nologin -M vmax_user
  1. 修改密码,密码安全级别要求很高 vmax_zTe.CN_2019_MD
passwd vmax_user
  1. 创建sftp根目录,所有sftp用户都将在该目录下活动。(如果以后不会在新增新用户的话,可跳过此目录)
mkdir /home/sftp
  1. 设置目录权限,目录的权限设定有两个要点:
    • 目录开始一直往上到系统根目录为止的目录拥有者都只能是root
    • 目录开始一直往上到系统根目录为止都不可以具有群组写入权限
chown root:root /home/sftp
chmod 755 /home/sftp
  1. 创建用户vmax_user根目录,目录名为用户名
cd /home/sftp
mkdir vmax_user
  1. 设置vmax_user目录权限
chown root:vmax_user /home/sftp/vmax_user # 设置用户sftpuser,如果设置拥有者为root,表示该目录sftpuser没有权限读写,在该目录下建立其它目录,赋权给sftpuser用户读写权限
chown vmax_user:vmax_user /home/sftp/vmax_user   # 对该目录拥有读写权限,设置权限
chmod 755 /home/sftp/vmax_user     # 这里的目录sftpuser  权限也只能是755,否则无法限制目录
  1. 配置sshd_config
vi /etc/ssh/sshd_config
# 注释掉如下这一行,如下:
#Subsystem sftp /usr/libexec/openssh/sftp-server

Subsystem sftp internal-sftp
# 多个用户/组制定不同路径配置方式
Match Group vmax_user
        ChrootDirectory /home/sftp/%u # 同一个用户组下通过用户名匹配对应的路径
        ForceCommand internal-sftp
        AllowTcpForwarding no

Match Group vmax_pms
        ChrootDirectory /pmsapp/pms/ums-server/works/global/erf
        ForceCommand internal-sftp
        AllowTcpForwarding no
  1. 重启sshd服务器
systemctl restart sshd.service
  1. 查询sshd启动状态命令
systemctl status sshd.service
  1. vmax_user用户登录测试:
sftp -oPort=22 [email protected]

你可能感兴趣的:(12.创建sftp服务器)