利用ssh自带的sftp协议来代替传统的ftp软件,减轻服务器负担
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 /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=YES ascii_download_enable=YES #对ASCII模式上传和下载的支持
在文件结尾添加以下部分
#要注消原来的subsystem设置 #Subsystem sftp /usr/libexec/openssh/sftp-serverSubsystem 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
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦