基于Linux的ftp

一、安装并开启ftp

yum install vsftpd -y
在这里插入图片描述
systemctl start vsftpd 开启ftp服务
systemctl stop firewalld 关闭火墙
systemctl enable vsftpd 开机自动开启ftp
lftp ip ##能登陆并且显示,表示安装成功
在这里插入图片描述
查找vsftpd的配置文件
在这里插入图片描述
在这里插入图片描述

二、vsftpd服务的配置参数

vim /etc/vsftpd/vsftpd。conf修改参数
1、anonymous_enable=NO ##限制匿名用户登陆(YES为允许)
在这里插入图片描述
编辑完成后,重启vsftpd服务。匿名登入时,发现被拒绝
在这里插入图片描述
在这里插入图片描述
2、匿名用户上传
write_enable=YES 写功能开启
anon_upload_enable=YES 允许匿名用户上层
chgrp ftp /var/ftp/CQ 修改组名
chmod 775 /var/ftp/CQ 修改权限
在这里插入图片描述
在这里插入图片描述
修改完成后重启服务
在这里插入图片描述
修改参数并重启后,便实现了匿名用户的上传
3、匿名用户家目录修改
anon_root=/direcotry,设定家目录为/mnt
在这里插入图片描述
并重启服务,同时查看目录/mnt的文件
在这里插入图片描述
在这里插入图片描述
匿名用户的家目录修改成功
4、匿名用户上传文件默认权限修改
anon_umask=xxx
在这里插入图片描述
重启服务后,在客户端上传文件并查看上传文件的权限
5、<匿名用户建立目录>
anon_mkdir_write_enable=YES|NO(yes表示允许)
在这里插入图片描述
重启服务
在这里插入图片描述
6、匿名用户下载
在这里插入图片描述
anon_world_readable_only=YES|NO ##设定参数值为no表示匿名用户可以下载
在这里插入图片描述
重启服务
在这里插入图片描述
7、匿名用户删除
在这里插入图片描述
anon_other_write_enable=YES ##YES表示允许
在这里插入图片描述
重启服务
在这里插入图片描述
8、匿名用户使用的用户身份修改
chown_uploads=YES
chown_username=student
chown_uploads_mode=0644
在这里插入图片描述
在这里插入图片描述
我们可以查看student的uid查看是否设置成功
在这里插入图片描述
设置成功
9、最大上传速率
先获取一个足够大的文件以便于观察,利用dd从/dev/zero中获取理想大小的文件
在这里插入图片描述
anon_max_rate=102400 设置最大传输速度为100K
在这里插入图片描述
10、最大链接数
max_clients=2 设置最大链接数为2,当链接数大于2时,无法链接
在这里插入图片描述
在这里插入图片描述
当链接数为3时,发现无法链接该ip
11、本地用户设定
在这里插入图片描述
local_enable=YES|NO ##本地用户登陆限制(NO为限制,YES允许)
在这里插入图片描述
在这里插入图片描述
write_enable=YES|NO ##本地用户写权限限制
在这里插入图片描述
未修改时,student用户可以正常上传。限定用户权限
在这里插入图片描述
再尝试上传
在这里插入图片描述
上传失败,说明限制成功
12、本地用户家目录修改
local_root=/directory
在这里插入图片描述
在这里插入图片描述
在返回家目录时,返回至/CQ,说明家目录设置成功
12、限制本地用户浏览/目录
chroot_local_user=YES
chmod u-w /home/*
在这里插入图片描述
在这里插入图片描述
利用student访问该ip,并进入/目录观察是否限制成功
在这里插入图片描述
13、用户黑名单建立
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
在这里插入图片描述
vim /etc/vsftpd/chroot_list
在这里插入图片描述
并输入student,将student设置为黑名单
14、白名单的建立
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
15、限制本地用户登陆
userlist_deny=NO
/etc/vsftpd/user_list(仅允许该文件夹内的用户登录)
创建user1,user2,user3,三个用户。将user1,2设定成白名单
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时,user1,2正常访问,而user3被拒绝
userlist_deny=YES
vim /etc/vsftpd/ftpusers ##该文件ia的用户为黑名单
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、ftp虚拟用户的设定

在创建虚拟用户前我们需要创建一个不可登陆的用户
在这里插入图片描述
1、创建虚拟用户
vim /etc/vsftpd/loginusers(此时的文件名可以任意修改,但之后必须保持一致)
在这里插入图片描述
系统在读取该文件时,会读取文件内的所有内容,所以不能出现空格
2、对用户帐号和密码进行加密(采用hash加密)
db_load -T -t hash -f /etc/vsftpd/loginusers loginusers.db
在这里插入图片描述
3、 编辑帐号和密码处理的库文件
vim /etc/pam.d/cqftpd(此时的文件名可以任意修改,但之后必须保持一致)
在这里插入图片描述
在这里插入图片描述
若不清楚格式,可以到相应的系统文件下查看
4、配置vsftpd配置文件
pam_service_name=ckvsftpd # 虚拟用户信息认证文件名称
guest_enable=YES # 虚拟用户开启
guest_username=ftpuser #指定虚拟用户
在这里插入图片描述
并修改权限
chmod u-w /home/ftpuser
登陆虚拟用户检测是否设置成功
在这里插入图片描述
虚拟用户ftpuser1,2均可以正常登陆

四、虚拟帐号家目录独立设定

1、该实验在三的基础的继续进行。编辑.conf文件
在这里插入图片描述
user_sub_token=$USER是系统建议的获取用户的参数
创建一个目录用来存放虚拟用户的根目录
mkdir /ftpuserhome #该目录用来存放根目录
chgrp ftpuser /ftpuserhome #修改组名
chmod g+s /ftpuserhome #修改组权限
mkdir /ftpuserhome/ftpuser{1…3} #创建3个根目录
在这里插入图片描述
并在每个根目录下创建相应的文件,以确认进入的是否为根目录
在这里插入图片描述
在这里插入图片描述
不同的用户均进入了对应的根目录
2、虚拟帐号配置独立
user_config_dir=/etc/vsftpd/user.d(该目录名称任意)
在这里插入图片描述
定义参数,使系统在读取虚拟用户的vsftpd配置时,进入该文件夹内读取相应的文件
创建/etc/vsftpd/user.d 目录,并写入2个文件,ftpuser1表示虚拟用户ftpuser1的vsftpt参数为限定最大传输速度。ftpuser2表示虚拟用户ftpuser2的vsftpd参数为允许其上传文件。
在这里插入图片描述
在测试参数前,先建立足够大的文件以测试限定速度是否成功
在这里插入图片描述
建立2个同样大小的文件以作对比
在这里插入图片描述
在这里插入图片描述
对比速度可知,速度限定成功。
测试虚拟用户ftpuser2的功能
在这里插入图片描述
ftpuser2用户可以将文件上传到/CQ目录下,说明参数设置成功

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值