前言:
FTP(文件传输协议) 是 INTERNET上常用的老的网络协议之一,
它为系统提供了通过网络与远程服务器进行传输的简单方法.ftp服务
器包的名称为vsftpd,它代表Very Secure File Transfer Protocol Damon,
服务器名称也叫做vsftpd。今天将分享一下FTP的部署和相关文件的配置.
正文:
一、进行FTP协议的部署
(1)内核的加强性火墙的关闭
vim /etc/sysconfig/selinus ###进行文件的编辑,关闭加强型火墙的关闭
getenforce ###查看文件是否生效
reboot ###进行系统的重启
(2)进行yum源的配置和相关软件的安装
vim /etc/yum.repos.d/yum.repo ###进行yum源的编辑
yum install vsftpd lftp -y ###进行软件的下载
(3)进行防火墙的更改(前提条件,防火墙必须开启)
systemctl status firewalld ###查看防火墙的状态
firewall-config ###进入到防火墙的图形管理界面进行相关的设定
firewall-cmd --list-all ###查看防火强是否设定成功,如果设定成功将出现dhcpv6-client ftp ssh
1)进行火墙状态的查看
systemctl status firewalld ###进行火墙状态的查看
2)进行火墙界面的打开并且进行相关的设定
firewall-config ###进入到防火墙的图形管理界面进行相关的设定
3)查看火墙设定是否设定成功
firewall-cmd --list-all ###查看防火强是否设定成功,如果设定成功将出现dhcpv6-client ftp ssh
)
4)进行服务的开启以及服务的开机自启
systemctl start vfstpd ###进行服务的开启
systemctl enable vfstpd ###进行服务的开机自启
systemctl status vfstpd ###进行服务状态的查看
5)进行相关的测试
在真机上lftp的测试
lftp 172.25.254.112 ###进行匿名用户的登陆
二、ftp服务的基本信息和报错ID的解析
软件安装包:vsftpd
默认发布的目录:/var/ftp
协议的接口:21/tcp
服务配置文件:/etc/vsftpd/vsftpd.conf/
报错的ID解析:
500 : 文件系统权限过大
530 : 用户认证失败
550 : 服务本身功能为开启
553 : 本地文件系统权限过小
三、ftp中用户的登陆
1、匿名用户进行ftp的登陆
vim /etc/vsftpd/vsftpd.conf ###进行文件的编辑,设定匿名用户可以进行登陆
anonymous_enable=YES ###允许你名用户进行登陆
进行相关设定的测试:
lftp 172.25.254.112 ###进行匿名用户的登陆
2
2、本地用户登陆的设定及是否对登陆用户可写
vim /etc/vsftpd/vsftpd.conf ###进行文件的编辑
local_enable=YES ###允许本地用户进行登陆
write_enable=YES ###允许本地用户可写
进行设定的相关测试:
lftp 172.25.254.112 -u student ###进行本地用户的登陆
三、进行匿名用户文件的上传
使用相关的命令进行设定
vim /etc/vsftpd/vsftpd.conf ###进行文件的相关编辑
systenctl restart vsftpd ###进行服务的重启
chgrp ftp /var/ftp/pub ###将ftp添加成为用户组
chmod 775 /var/ftp/pub ###进行文件权限的修改
(1)当没有进行相关的设定时(会出现上传文件失败,权限不够)
(2)进行文件的编辑,设定登陆用户可写
vim /etc/vsftpd/vsftpd.conf ###进行文件的相关编辑
(3)进行服务的重启及相关文件权限的设定
systenctl restart vsftpd ###进行服务的重启
chgrp ftp /var/ftp/pub ###将ftp添加成为用户组
chmod 775 /var/ftp/pub ###进行文件权限的修改
(4)进行相关的测试
四、匿名用户家目录的修改
mkdir /westos ###进行目录的新建
touch /westos/file{1..10} ###进行文件的创建
vim /etc/vsftpd/vsftpd.conf ###进行设定文件的编辑
systemctl restart vsftpd ###进行服务的重启
(1)使用相关的命令进行用户家目录的创建和测试文件的建立
mkdir /new ###进行目录的新建
touch /new/file{1..10} ###进行文件的创建
(2)进行相关文件的编辑以及服务的重启
vim /etc/vsftpd/vsftpd.conf ###进行设定文件的编辑
systemctl restart vsftpd ###进行服务的重启
(3)进行相关的测试
lftp 172.25.254.112 ###进行匿名用户的登陆
五、匿名用户上传文件默认权限的修改
(1)进行文件的编辑
vim /etc/vsftpd/vsftpd.con ###进行相关文件的编辑
systemctl restart vsftpd ###进行服务的重启
(2)进行相关的测试
六、使用匿名用户进行文件的建立
(1)进行相关文件的编辑
vim /etc/vsftpd/vsftpd.con ###进行相关文件的编辑
systemctl restart vsftpd ###进行服务的重启
(2)进行相关的测试
七、匿名用户文件的下载
(1)进行相关文件的编辑
vim /etc/vsftpd/vsftpd.con ###进行相关文件的编辑
systemctl restart vsftpd ###进行服务的重启
(2)进行相关的测试
八、匿名用户对文件的删除
(1)进行相关文件的编辑
vim /etc/vsftpd/vsftpd.con ###进行相关文件的编辑
systemctl restart vsftpd ###进行服务的重启
(2)进行相关的测试
九、匿名用户使用用户身份的修改
(1)进行相关文件的编辑
vim /etc/vsftpd/vsftpd.con ###进行相关文件的编辑
systemctl restart vsftpd ###进行服务的重启
(2)进行相关的测试
十、进行文件最大上传速率的设定
(1)进行相关文件的编辑
vim /etc/vsftpd/vsftpd.con ###进行相关文件的编辑
systemctl restart vsftpd ###进行服务的重启
(2)进行相关的测试
十一、进行最大连接的客户端的设定
(1)进行相关文件的编辑
vim /etc/vsftpd/vsftpd.con ###进行相关文件的编辑
systemctl restart vsftpd ###进行服务的重启
十二、用户的本地认证的设定
(1)进行相关文件的编辑
vim /etc/vsftpd/vsftpd.con ###进行相关文件的编辑
systemctl restart vsftpd ###进行服务的重启
local_enzble=YES|NO 本地用户登陆限制
write_enable=YES|NO 本地用户写权限的限制
(2)进行相关的测试
十三、进行本地用户目录的修改
(1)进行相关文件的编辑
vim /etc/vsftpd/vsftpd.con ###进行相关文件的编辑
systemctl restart vsftpd ###进行服务的重启
mkdir /ppt ###进行目录的创建
touch /ppt/file{1..3} ###进行文件的查看
local_root=/ppt
(2)进行相关的测试
十四、进行本地用户上传文件权限的设定
(1)进行相关文件的编辑
vim /etc/vsftpd/vsftpd.con ###进行相关文件的编辑
systemctl restart vsftpd ###进行服务的重启
(2)进行相关的测试
十五、限制本地用户浏览根目录的设定
限制本地用户浏览根目录
所有用户被锁定在自己的家目录中
(1)使用相关的命令进行文件的编辑
vim /etc/vsftpd/vsftpd.con ###进行相关文件的编辑
systemctl restart vsftpd ###进行服务的重启
chmod 777 /var/ftp ###进行文件权限的设定
chmod ugo-w /var/ftp ###去除文件的写的权限
chmod ugo-w /home/* ###去除文件的写的权限
(2)进行相关的测试
chmod 777 /var/ftp ###进行文件权限的设定
chmod ugo-w /var/ftp ###去除文件的写的权限
chmod ugo-w /home/* ###去除文件的写的权限
用户只能查看自己根下的目录
十六、用户黑名单的建立
(1)进行相关文件的编辑
vim /etc/vsftpd/vsftpd.con ###进行相关文件的编辑
systemctl restart vsftpd ###进行服务的重启
chroot_local_user=NO ###允许用户访问根下的目录
chroot_list_enable=YES ###进行用户黑名单的开启
chroot_list_file=/etc/vsftpd/chroot_list ###系统识别黑名单中的用户
注意的是:/etc/vsftpd/chroot_list 该文件并不存在,需要进行建立,将
想要的用户名单加入该文件,该文件中的用户只能访问自己的家目录.
(2)进行相关的测试
vim /etc/vsftpd/chroot_list ###进行黑名单文件的编辑,并进行用户的添加
十七、进行用户白名单的建立
(1)使用相关命令进行文件的编辑
vim /etc/vsftpd/vsftpd.con ###进行相关文件的编辑
systemctl restart vsftpd ###进行服务的重启
chroot_local_user=YES ###不允许用户访问根下的目录
chroot_list_enable=YES ###进行用户白名单的开启
chroot_list_file=/etc/vsftpd/chroot_list ###系统识别白名单中的用户
(2)进行相关的测试
十八、限制本地用户登陆的设定
1、用户黑名单的建立
(1)使用相关的命令进行文件的编辑
vim /etc/vsftpd/ftpusers ###用户黑名单的编辑
vim /etc/vsftpd/user_list ###用户的临时黑名单
(2)进行相关的测试
(3)使用临时黑名单进行限制用户登陆的设定
vim /etc/vsftpd/user_list ###用户的临时黑名单
(4)进行相关的测试
2、用户白名单的建立
(1)进行相关文件的编辑
vim /etc/vsftpd/vsftpd.con ###进行相关文件的编辑
systemctl restart vsftpd ###进行服务的重启
userlist_deny=NO ###所有用户的不允许登陆
vim /etc/vsftpd/user_list ###将临时黑名单中的用户改为白名单的用户
(2)进行相关的测试
十九、ftp虚拟用户的设定
1、进行虚拟帐号身份的创建
vim /etc/vsftpd/westosfile(文件名称自定) ###编辑匿名认证名单和密码
2、进行文件的加密
1) 使用相关的命令进行文件的加密
db_load -T -t hash -f /etc/vsftpd/westosfile /etc/vsftpd/westosfile.db
###进行文件的哈希加密
file /etc/vsftpd/westosfile.db ###查看是否加密成功
2)进行认证时系统读取westosfile中名单与密码进行认证
vim /etc/pam.d/westos(文件名称自定) ###进行认证时系统读取westosfile中名单与密码进行认证
account required pam_userdb.so db=/etc/vsftpd/westosfile ###认证文件的读取帐号信息
auth required pam_userdb.so db=/etc/vsftpd/westosfile ###认证文件的读取密码信息
3)进行相关配置文件的编辑
vim /etc/vsftpd/vsftpd.conf ###进行文件的编辑
pam_service_name=westosfile ###默认系统用户不能进行登陆
guest_enable=YES ###开启虚拟用户的功能
guest_username=ftp ###虚拟用户的身份指定
systemctl restart vsftpd ###进行服务的重启
4)虚拟帐号家目录独立设定,用户只能查看自己的目录
mkdir -p /var/ftpuserdir/westos(1..3) ###进行目录的创建
vim /etc/vsftpd/vsftpd.conf ###进行配置文件的编辑
local_root=var/westosdir/$USER ###登陆用户访问的家目录
user_sub_token=$USER ###将$在系统中进行识别/westos{1..3}/pub ###建立用户下的/pub目录
mkdir /var/ftpuserdirlocal_root=var/ftpuserdir/$USER ###登陆用户访问的家目录
mkdir /var/westosdir/westos/westos1file ###建立westos下各自的家目录
mkdir /var/westosdir/westos2/westos2file ###建立westos下各自的家目录
mkdir /var/westosdir/westos3/westos3file ###建立westos下各自的家目录
进行相关的测试
(1)用户不存在
(1)使用虚拟用户进行登陆(用户只能访问自己的家目录)
3、进行虚拟帐号配置独立的设定(指定虚拟用户上传的权限)
(1)进行文件权限的相关的设定
chmod 775 /var/westosdir/westos*/pub ###设定该目录的权限为775
chgrp ftp /var/westosdir/westos*/pub ###将ftp用户添加到该目录的所有组
(2)进行目录的建立和相关配置文件的设定
mkdir -p /etc/vsftpd/user_config ###进行目录的创建
vim /etc/vsftpd/vsftpd.conf ###进行文件的编辑
systemctl restart vsftpd ###进行服务的重启
(3)进行相关的测试(只有westos1可以进行文件的上传)