CentOS7 sftp 配置与添加用户

创建sftp用户组

groupadd sftp

mysftp加入用户组

-s 禁止用户ssh登陆
-G 加入sftp 用户组

useradd -G sftp -s /sbin/nologin mysftp

设置用户密码

passwd mysftp

修改配置文件

vim /etc/ssh/sshd_config

说明
Match Group sftp 匹配sftp用户组中的用户
ChrootDirectory %h 只能访问默认的用户目录(自己的目录),例如 /home/mysftp

##下面这行注释掉
#Subsystem sftp /usr/libexec/openssh/sftp-server
##文件后面加 尾部 最后 DD
Subsystem sftp internal-sftp

Match Group sftp
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory %h
ForceCommand internal-sftp

重启ssh

systemctl restart sshd.service

设置权限

chown root:sftp /home/mysftp
chgrp -R sftp /home/mysftp
chmod -R 755 /home/mysftp
#设置用户可以上传的目录,改目录下允许用户上传删除修改文件及文件夹
mkdir /home/mysftp/upload
chown -R mysftp:sftp /home/mysftp/upload
chmod -R 755 /home/mysftp/upload

新增用户

useradd -G sftp -s /sbin/nologin test
passwd test
chown root:sftp /home/test
chgrp -R sftp /home/test
chmod -R 755 /home/test
#设置用户可以上传的目录,改目录下允许用户上传删除修改文件及文件夹
mkdir /home/test/upload
chown -R test:sftp /home/test/upload
chmod -R 755 /home/test/upload

shell脚本

vi make_sftp.sh
#!/bin/sh
usage(){
  echo "参数错误!"
  echo "eg: $0 test1 123456abcd"
  echo ""
}

if [ $# -ne 2 ]; then
  usage
  exit 1
else
  USERNAME="$1"
  PASSWORD="$2"
fi
 egrep "^${USERNAME}:" /etc/passwd >& /dev/null
if [ $? -eq 0 ];then
 echo "$USERNAME 已经存在"
 exit 1
else
 useradd -G sftp -s /sbin/nologin ${USERNAME}
 echo ${USERNAME}:${PASSWORD}|chpasswd
 chown root:sftp /home/${USERNAME}
 chgrp -R sftp /home/${USERNAME}
 chmod -R 755 /home/${USERNAME}
 mkdir /home/${USERNAME}/upload
 chown -R ${USERNAME}:sftp /home/${USERNAME}/upload
 chmod -R 755 /home/${USERNAME}/upload
 echo "ok"
fi
本作品采用《CC 协议》,转载必须注明作者和本文链接
Vckin
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!