美文网首页
多用户多分组的SFTP配置方式(FTP over SSH)

多用户多分组的SFTP配置方式(FTP over SSH)

作者: codeeer | 来源:发表于2017-09-19 13:23 被阅读0次

Step 1. 设计用户和组的结构

用户 所属分组 Home目录
Codeeer okchakela /mnt/data1/Private/Codeeer
Ridesky okchakela mnt/data1/Private/Ridesky
Dorothy okchakela mnt/data1/Private/Dorothy
py ftpaccess /home/py

提示:/mnt/data1/Private/ 目录为团队FTP网盘根目录

创建组并设置成员

#创建okchakela组
groupadd okchakela
#添加成员并指定Home目录
useradd Codeeer -d /mnt/data1/Private/Codeeer -s /sbin/nologin -G okchakela
useradd Ridesky -d /mnt/data1/Private/Ridesky -s /sbin/nologin -G okchakela
useradd Dorothy -d /mnt/data1/Private/Dorothy -s /sbin/nologin -G okchakela

#创建ftpaccess组
groupadd ftpaccess
#添加成员
useradd py -s /sbin/nologin -G ftpaccess

设置组目录及以上目录的root所属(非常重要,否则Chroot会拒绝连接),并设置具体用户目录的本人所属

#用于匹配okchakela组
chown root:root /
chown root:root /mnt
chown root:root /mnt/data1
chown root:root /mnt/data1/Private
#设置用户私人目录的所属人
chown -R Codeeer /mnt/data1/Private/Codeeer
chown -R Ridesky /mnt/data1/Private/Ridesky
chown -R Dorothy /mnt/data1/Private/Dorothy
#设置其他人不可访问的权限(700)
chmod -R 700 /mnt/data1/Private/Codeeer
chmod -R 700 /mnt/data1/Private/Ridesky
chmod -R 700 /mnt/data1/Private/Dorothy

#用于匹配ftpaccess组
chown root:root /home
#设置用户私人目录的所属人
chown py /home/py
#设置其他人不可访问的权限(700)
chmod 700 /home/py

提示:执行 ls -l 查看目录详细信息

Step 2. 配置sshd_config文件

nano /etc/ssh/sshd_config

编辑配置文件

anonymous_enable=NO #设置不允许匿名访问
local_enable=YES #设定本地用户可以访问。如使用虚拟宿主用户,在此为NO的情况下将无法访问
chroot_list_enable=YES #锁定用户访问目录(禁止跳转)
ascii_upload_enable=YES
ascii_download_enable=YES #对ASCII模式上传和下载的支持

在文件结尾添加以下部分

Subsystem sftp internal-sftp
#匹配okchakela组
Match Group okchakela
ChrootDirectory /mnt/data1/Private
#匹配ftpaccess组
Match Group ftpaccess
ChrootDirectory /home
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

提示:Match 条件块的结尾标识是另一个Match指令或者文件结尾

Step 3. 重启sshd服务

systemctl restart sshd.service

如运行失败可通过以下指令查看状态

systemctl status sshd.service

相关文章

网友评论

      本文标题:多用户多分组的SFTP配置方式(FTP over SSH)

      本文链接:https://www.haomeiwen.com/subject/qyjwsxtx.html