企业级ftp服务

ftp

实验环境:reset虚拟机desktop,配置网卡(ip=172.25.254.113)
配置yum源
用getenforce查看内核级火墙的状态,需要是关闭状态,显示为disable,
在这里插入图片描述
若为enforcing
vim /etc/sysconfig/selinux 进入配置

在这里插入图片描述
修改后,需要reboot重启,才能使更改生效

下载软件vsftpd和lftp

在这里插入图片描述
rpm -ql vsftpd
/var/ftp ftp的发布目录

rpm -qc
在这里插入图片描述

/etc/logrotate.d/vsftpd ##日至文件
/etc/pam.d/vaftpd ###认证文件
etc/vsftpd/ftpusers ##黑名单
/etc/vsftpd/user_list ##用户名单
/etc/vsftpd/vsftpd.conf ##配置文件
登陆方式
不通过用户登陆 默认目录为共享目录
lftp 172.25.254.113

在这里插入图片描述
注意:第一次登录失败的原因就是没有开启vsftpd
通过用户登陆 默认目录为用户的家目录
lftp 172.25.254.113 -u student
在这里插入图片描述
vim /etc/vsftpd/vsftpd.conf ###修改配置文件
修改后需要重启服务
systemctl restart vsftpd.conf

12 anonymous_able=YES ##匿名用户是否可以登陆
在这里插入图片描述
YES表示匿名用户可以登陆,把它改为NO来看效果
在这里插入图片描述
匿名用户登录失败
16 local_enbale=YES ##是否能以本地用户身份登陆

19 write_enable ##
29 anon_upload_enable=YES ##可以上传
在此实验前,需将上个实验做的改为anonymous_enable=YES

在这里插入图片描述
修改后需要重启服务
systemctl restart vsftpd.conf

上传操作
在/var/ftp 发布目录不能上传
只能在/var/ftp/pub/ 下上传文件
在这里插入图片描述
但显示权限过小(553),需要给权限,
如果给发布目录777权限,会显示权限过大,
所以可以给pub777权限使它进行上传操作,
在这里插入图片描述
但是给pub777权限并不安全
匿名用户上传,用的ftp的身份,完成上传后它就不能在用ftp的身份
在这里插入图片描述
所以采用cal列表操作
在这里插入图片描述
setfacl -m u:ftp:rwx /var/ftp/pub/

在这里插入图片描述
第一条命令是将之前做的满权限修改过来

530报错,认证失败
550报错 服务本身功能未开启
553报错 文件系统权力过小
500报错 服务本身所访问的权力过大

更多操作:
为保险起见,做完一个实验就将所更改的复原
若需要某服务可开启,但要记得,以免对实验有影响,自己还傻傻不知道
#<匿名用户家目录修改>
anon_root=/direcotry
在这里插入图片描述
做好修改后重启服务,然后查看效果
在这里插入图片描述
#<匿名用户上传文件默认权限修改>

anon_umask=xxx

#<匿名用户建立目录>

anon_mkdir_write_enable=YES|NO

在这里插入图片描述
在这里插入图片描述
#<匿名用户下载>

anon_world_readable_only=YES|NO     ==设定参数值为no表示匿名用户可以下载==

在这里插入图片描述
在这里插入图片描述
#<匿名用户删除>

anon_other_write_enable=YES|NO	

在这里插入图片描述
在这里插入图片描述
#<匿名用户使用的用户身份修改>

chown_uploads=YES
chown_username=student
chown_upload_mode=0644

在这里插入图片描述
前文我们说过,匿名用户在上传时是使用的ftp的身份
现在来修改匿名用户上传时使用的身份
在这里插入图片描述
#<最大上传速率>

anon_max_rate=102400

#<最大链接数>

max_clients=2

2)本地用户设定

local_enable=YES|NO		##本地用户登陆限制
write_enable=YES|NO		##本地用户写权限限制

本地用户家目录修改>

local_root=/directory

#<本地用户上传文件权限>

local_umask=xxx

以上几个和匿名用户操作一样,不再赘述,下面看一下
限制本地用户浏览目录

#<限制本地用户浏览/目录
在这里插入图片描述
所有用户被锁定到自己的家目录中

chroot_local_user=YES
chmod u-w /home/*	去掉写权限

在这里插入图片描述
在这里插入图片描述
用户黑名单建立

chroot_local_user=NO			
chroot_list_enable=YES	上面参数是NO的话就是黑名单		
chroot_list_file=/etc/vsftpd/chroot_list

在这里插入图片描述
先用不在名单中的student登录查看,可以切到/目录下
在这里插入图片描述
在这里插入图片描述

用户白名单建立

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#<限制本地用户登陆>
这是登陆的管理,设定黑白名单来管理洪湖能否登陆ftp
上面的黑白名单是设定哪些用户被锁定家目录的黑白名单

vim /etc/vsftpd/#<限制本地用户登陆>
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
在这里插入图片描述
注意:不要有空格,尤其在密码行的末尾,也会被加密

db_load -T -t hash -f /etc/vsftpd/westosfile /etc/vsftpd/westosfile.db

-T---->转换 -t---->格式 为 hash
把写着虚拟用户和密码的文件转换为加密文件

vim /etc/pam.d/westos		##文件名称任意
account		required	pam_userdb.so	db=/etc/vsftpd/westosfile
auth		required	pam_userdb.so	db=/etc/vsftpd/westosfile
westosfile后不加db   因为pam_userdb.so默认 它相当于看门老大爷

在这里插入图片描述

vim /etc/vsftpd/vsftpd.conf
pam_service_name=westos
guest_enable=YES

在这里插入图片描述
效果:

在这里插入图片描述
这样的虚拟帐号管理显然在实际中无法应用
它需要每个帐号有独立配置,只在自己的加目录中
虚拟帐号身份指定)

guest_username=ftpuser
chmod u-w /home/ftpuser

虚拟帐号家目录独立设定)

vim /etc/vsftpd/vsftpd.conf
local_root=/ftphome/$USER
user_sub_token=$USER


mkdir /ftphome/user1/user1dir -p
mkdir /ftphome/user2/user2dir -p

虚拟帐号配置独立)

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

vim /etc/vsftpd/userconf/ftpuser1
在此文件中设定配置文件中的所有参数,此文件的优先级高
#在单独配置各帐号的配置文件时,要将总的配置文件关掉,否则没有配置的帐号也可以享有总的配置文件中开启的服务

猜你喜欢

转载自blog.csdn.net/zhaoliang_Guo/article/details/90024427