unit17.ftp服务
发布日期:2022-02-12 16:06:48 浏览次数:2 分类:技术文章

本文共 3032 字,大约阅读时间需要 10 分钟。

####ftp服务####
先修改selinux为disabled
##1.ftp的启用
yum install -y vsftpd
systemctl start vsftpd
systemctl enable vsftpd
在这里插入图片描述
图形给防火墙白名单添加ftp服务
在这里插入图片描述

命令给防火墙白名单添加ftp服务
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
firewall-cmd --list-all
在这里插入图片描述
lftp 和 vsftpd不是同一个东西
浏览器访问:
或者远程访问 lftp 172.25.254.100

在这里插入图片描述

##2.ftp基本信息

默认发布目录: /var/ftp ##普通用户登录上去默认在自己家目录
访问方式
lftp 172.25.254.100 ##匿名登录 --> /var/ftp
lftp 172.25.254.100 -u student ##用户登录 --> /home/student

配置文件:
/etc/vsftpd/vsftpd.conf

##3.ftp的安全部署
500报错:权限过大
530报错:认证失败
550报错:服务本身不允许
553报错:文件系统权限过小

anonymous_enable=YES | NO ##匿名用户是否可以登录
在这里插入图片描述
在这里插入图片描述
local_enable=YES | NO ##本地用户是否可以登录
在这里插入图片描述
在这里插入图片描述
write_enable=YES | NO ##用户是否可写
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
##4.匿名用户
pub目录只对超级用户可写

#匿名用户可写
先直接上传,报错,再改目录权限为777,查看上传用户
chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub

vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES
在这里插入图片描述
在这里插入图片描述

#匿名用户可下载
anon_world_readable_only=NO
在这里插入图片描述
在这里插入图片描述
#匿名用户建立目录
anon_mkdir_write_enable=YES
在这里插入图片描述
在这里插入图片描述
#匿名用户是否可以删除和重命名
anon_other_write_enable=YES
在这里插入图片描述
在这里插入图片描述
#匿名用户家录修改
anon_root=/westos
在这里插入图片描述
在这里插入图片描述
#匿名用户上传文件默认权限修改
anon_umask=xxx 改成022
在这里插入图片描述
在这里插入图片描述
#匿名用户使用的用户身份修改
chown_uploads=YES
chown_username=shang
在这里插入图片描述
#最大上传速率
anon_max_rate=102400 单位:字节 100k
上传测试
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
#最大链接个数
max_clients=2
在这里插入图片描述
在这里插入图片描述
#本地用户家目录修改
local_root=/westos
在这里插入图片描述
在这里插入图片描述
#本地用户上传文件权限
local_umask=xxx
在这里插入图片描述
在这里插入图片描述
#限制本地用户浏览根目录
所有用户被锁定到自己的加目录中(修改之前不仅可以在自己家目录,还可以看其他)
chroot_local_user=YES ##此参数要求去掉自己对加目录的写权限,man看以下这个参数
chmod u-w /home/*

在这里插入图片描述
在这里插入图片描述
用户黑名单建立(此名单中的用户不能传送至其他用户的家目录中)
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

用户白名单建立
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#限制本地用户登录
vim /etc/vsftpd/ftpusers ##永久用户黑名单
vim /etc/vsftpd/user_list ##用户临时黑名单

用户白名单设定
userlist_deny=NO
/etc/vsftpd/user_list ##参数设定,此文件变成用户白名单,只在名单中出现的用户可以登录ftp
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
#ftp虚拟用户的设定
(创建虚拟帐号身份)
vim /etc/vsftpd/westosfile ##文件名称任意
ftpuser1
123
ftpuser2
123
ftpuser3
123
在这里插入图片描述

#上面的密码是明文的,不安全,要进行加密,T表示transfer,t表示转换方式为hash
db_load -T -t hash -f /etc/vsftpd/westosfile /etc/vsftpd/westosfile.db
在这里插入图片描述

#查看vsftpd.conf,认证的时候是使用pam认证
#yum search pam —> pam.x86_64
#rpm -qc pam.x86_64
#cd /etc/pam.d,目录里有个vsftpd文件
#认证的时候就是在这个文件里做用户名和密码的比对
#系统里有pam这个进程的,ps aux | grep pam

vim /etc/pam.d/westos ##文件名称任意
account required pam_userdb.so db=/etc/vsftpd/westosfile
auth required pam_userdb.so db=/etc/vsftpd/westosfile
在这里插入图片描述
#account表示帐号名称,auth表示密码,先后顺序不分
#required是通过了用户名认证才能进入下一步认证,然后使用pam_userdb.so这个插件来验证
#db=/etc/vsftpd/westosfile文件后不要写.db,系统会自动加

vim /etc/vsftpd/vsftpd.conf
pam_service_name=westos
guest_enable=YES
在这里插入图片描述
在这里插入图片描述
虚拟帐号身份指定
guest_username=westos ##默认使用虚拟用户时,登录后在pub目录,要想改变,修改此参数,修改后登录到westos家目录
chmod u-w /home/ftpuser
在这里插入图片描述
在这里插入图片描述

虚拟帐号家目录独立设定
vim /etc/vsftpd/vsftpd.conf
local_root=/ftphome/ U S E R u s e r s u b t o k e n = USER user_sub_token= USERusersubtoken=USER ##$USER是shell里的用法,要让配置文件里支持,必须加这个参数
在这里插入图片描述
mkdir /ftphome/user1/user1dir -p
mkdir /ftphome/user2/user2dir -p在这里插入图片描述

虚拟帐号配置独立
chgrp ftp /ftphome -R
ll /ftphome/user*
chmod 775 /ftphome/user1/user1dir
chmod 775 /ftphome/user2/user2dir

vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/userconf
mkdir -p /etc/vsftpd/userconf

vim /etc/vsftpd/userconf/user1
在此文件中设定配置文件中的所有参数,此文件的优先级高
例如:anon_upload_enable=YES
这样user1可以上传,user2不行

转载地址:https://blog.csdn.net/weixin_45426401/article/details/97899626 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Linux中的防火墙服务firewall
下一篇:Unit2.文件管理命令

发表评论

最新留言

感谢大佬
[***.11.154.71]2022年05月26日 19时25分53秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

最新文章

【微服务-Spring源码】Idea + Gradle + Spring源码环境搭建 2019-08-03 02:38:28
不使用任何内建的哈希表库设计一个哈希集合 具体地说,你的设计应该包含以下的功能。add(value):向哈希集合中插入一个值。 contains(value) :返回哈希集合中是否存在这个值。 2019-08-03 02:38:27
给你一个数组 nums ,数组中有 2n 个元素,按 [x1,x2,...,xn,y1,y2,...,yn] 的格式排列。 请你将数组按 [x1,y1,x2,y2,...,xn,yn] 格式重新排 2019-08-03 02:38:27
给你两个整数,n 和 start 。数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == nums.length 。 2019-08-03 02:38:26
MyISAM 和 InnoDB 锁总结 2019-08-03 02:38:26
给你一个长度为 n 的整数数组 nums,其中 n大于1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。 2019-08-03 02:38:25
【每日一练】给你一个数组 candies 和一个整数 extraCandies ,其中 candies[i] 代表第 i 个孩子拥有的糖果数目。 2019-08-03 02:38:25
【每日一练】你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 2019-08-03 02:38:24
给定两个列表 Aand B,并且 B 是 A 的变位(即 B 是由 A 中的元素随机排列后组成的新列表)。 2019-08-03 02:38:24
给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 2019-08-03 02:38:23
【Java面试题】调用yield()、sleep()、notify()、wait()等方法对锁有何影响? 2019-08-03 02:38:23
给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。 2019-08-03 02:38:22
synchronized 不是万能,错误加锁 2019-08-03 02:38:22
给定一个二叉树,判断它是否是高度平衡的二叉树。 2019-08-03 02:38:21
老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。 2019-08-03 02:38:21
Thread 和 Runnable 区别? 2019-08-03 02:38:20
Mybatis 2019-08-03 02:38:20
在二维平面上,有一个机器人从原点 (0, 0) 开始。给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束。 2019-08-03 02:38:19
给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 2019-08-03 02:38:19
给出 N 名运动员的成绩,找出他们的相对名次并授予前三名对应的奖牌。前三名运动员将会被分别授予 “金牌”,“银牌” 和“ 铜牌” 2019-08-03 02:38:19