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

来源:互联网 发布:淘宝3c认证可以租吗 编辑:程序博客网 时间:2024/06/06 18:55

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 okchakelauseradd Ridesky -d /mnt/data1/Private/Ridesky -s /sbin/nologin -G okchakelauseradd 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 /mntchown root:root /mnt/data1chown root:root /mnt/data1/Private#设置用户私人目录的所属人chown -R Codeeer /mnt/data1/Private/Codeeerchown -R Ridesky /mnt/data1/Private/Rideskychown -R Dorothy /mnt/data1/Private/Dorothy#设置其他人不可访问的权限(700)chmod -R 700 /mnt/data1/Private/Codeeerchmod -R 700 /mnt/data1/Private/Rideskychmod -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=YESascii_download_enable=YES #对ASCII模式上传和下载的支持

在文件结尾添加以下部分

Subsystem sftp internal-sftp#匹配okchakela组Match Group okchakelaChrootDirectory /mnt/data1/Private#匹配ftpaccess组Match Group ftpaccessChrootDirectory /homeX11Forwarding noAllowTcpForwarding noForceCommand internal-sftp

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

Step 3. 重启sshd服务

systemctl restart sshd.service

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

systemctl status sshd.service