CentOS7 sftp添加新用户 (2)
文章1搞定原文:
https://jingyan.baidu.com/article/f3ad7d0fa6f9cc49c2345b72.html
# 1、创建sftp系统用户并禁用ssh登录
useradd -s /sbin/nologin sftp1
echo "sftp1@123" |passwd --stdin sftp1
# 2、配置sshd_config
vi /etc/ssh/sshd_config
找到如下这行,用#符号注释掉。
# Subsystem sftp /usr/libexec/openssh/sftp-server
# 在文件最后面添加如下几行内容
Subsystem sftp internal-sftp
#匹配用户
Match User sftp1
ChrootDirectory /data/sftp1
ForceCommand internal-sftp
AllowTcpForwarding no # 非必须
X11Forwarding no # 非必须
#3、设定Chroot目录权限(必须)
mkdir -p /data/sftp1
chown root:root /data/sftp1
chmod 755 /data/sftp1
#4、建立SFTP用户登入后可写入的目录
mkdir /data/sftp1/upload
chown sftp1 /data/sftp1/upload
chmod 755 /data/sftp1/upload
最后登录即可 sftp sftp1@10.72.5.30
文章2
https://blog.csdn.net/qq_25385555/article/details/90440777
#创建新用户
adduser sftp1
#设置该用户密码
passwd sftp1
#禁止该用户shell登录
usermod -s /bin/false sftp1
#修改该用户的家目录
usermod -d /sftp1/ sftp1
#设置sshd_config
vim /etc/ssh/sshd_config
#找到 Subsystem sftp 这一行,修改成:
Subsystem sftp internal-sftp
UsePAM yes
Match user sftp1
ForceCommand internal-sftp
ChrootDirectory /sftp1/
#将上面的 sftp1 和 /sftp1/ 替换成你需要的。
#多个用户请重复配置这三行:
Match user sftp2
ForceCommand internal-sftp
ChrootDirectory /sftp2/
#重新启动 sshd 服务:
systemctl restart sshd.service
文章3:
https://www.cnblogs.com/lavezhang/p/13365436.html
#如果已有用户,清除掉
userdel user1
rm -rf /home/user1
rm -rf /var/spool/mail/user1
#新建sftp组、具体用户user1
groupadd sftp
useradd -G sftp -s /sbin/nologin user1
passwd user1
#新建数据目录
mkdir -p /sftp/user1
#修改ssh配置文件
vi /etc/ssh/sshd_config
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
UsePAM yes
Match user user1
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
ChrootDirectory /sftp/user1
#重启ssh
service sshd restart
#目录授权
chown root:root /sftp
chgrp -R sftp /sftp
chmod -R 755 /sftp
chown -R user1:sftp /sftp/user1
chmod -R 755 /sftp