Linux下FTP的安装部署与配置管理

1.FTP介绍

    FTP是一个常见的应用程序,它是用于文件传输的Internet标准。由 FTP提供的文件传送是将一个完整的文件从一个系统复制到另一个系统中。要使用 FTP,就需要有登录服务器的注册帐号,或者通过允许匿名 FTP的服务器来使用。
    FTP采用两个TCP连接来传输一个文件。控制连接以通常的客户服务器方式建立。服务器以被动方式打开众所周知的用于FTP的端口( 21),等待客户的连接;客户则以主动方式打开 TCP端口 21,来建立连接。控制连接始终等待客户与服务器之间的通信。该连接将命令从客户传给服务器,并传回服务器的应答。由于命令通常是由用户键入的,所以 IP对控制连接的服务类型就是“最大限度地减小迟延”。每当一个文件在客户与服务器之间传输时,就创建一个数据连接。

2.vsftpd安装

(1)查找ftp应用安装包并安装,关闭SELINUX,当火墙中已经开启了ftp程序这个服务,火墙应该保持开启状态
在这里插入图片描述
在这里插入图片描述
(2)测试安装发布:再另一台主机安装lftp软件,lftp不是服务是一个用于浏览的软件
在这里插入图片描述
在这里插入图片描述
连接完毕,没有显示任何报错,不代表登录。ls如果能列出信息代表ftp服务是可以被访问的,没有列出信息,那么这个ftp服务是不能被你访问的。
在这里插入图片描述

3.vsftpd基本信息

服务名称:vsftpd.service
配置目录:/etc/vsftpd
主配置文件::/etc/vsftpd/vsftpd.conf
默认发布目录:/var/ftp
报错信息:
550        ##程序本身拒绝
553        ##文件系统权限限制
500        ##权限过大
530        ##认证失败

4.匿名用户访问控制

实验环境:
westos主机为服务端,node1主机为客户端
实验内容:
在服务端编辑配置文件参数,客户端进行测试
lftp 172.25.254.10    ##当访问ftp服务时没有加入用户认证为匿名访问
lftp 172.25.254.10 -u student     ##本地用户访问
在这里插入图片描述
登陆控制:anonymous_enable=YES|NO
家目录控制:默认情况下,匿名用户登录的位置是/var/ftp,每次更改配置文件后,需要重启vsftpd服务,anon_root=/software匿名用户登录默认情况下去看/software内容
在这里插入图片描述
在这里插入图片描述
上传控制:anon_upload_enable=YES|NO

chmod 777 /var/ftp/pub
lftp 172.25.254.10
cd pub
put /etc/passwd

在这里插入图片描述
在这里插入图片描述
下载控制:anon_world_readable_only=NO    ##匿名用户可以下载不能读的文件,在哪里登录的,下载的文件就在哪里
在这里插入图片描述
在这里插入图片描述
目录建立控制:anon_mkdir_write_enable=YES|NO
在这里插入图片描述
在这里插入图片描述
删除、重命名控制:anon_other_write_enable=YES|NO
在这里插入图片描述
在这里插入图片描述
登陆数量控制:max_clients=2,限制最大登录数量为2,当第三个匿名用户登陆时,登不上去,需要排队等候,当有用户退出,便可以登上去
在这里插入图片描述
在这里插入图片描述
上传速率控制:anon_max_rate=204800,200k/s左右
在这里插入图片描述
在这里插入图片描述

5.本地用户的访问

登陆控制:
useradd ufo
echo ufo | passwd --stdin ufo
asswd --stdin ufo
lftp172.25.254.10 -u ufo
local_enable=NO|YES
家目录控制:本地用户登录位置默认是自己的家目录,local_root=/software本地用户登录默认情况下去看/software内容
在这里插入图片描述
在这里插入图片描述
写权限控制:##匿名用户可以下载不能读的文件write_enable=NO|YES
上传文件权限控制:local_umask=077
在这里插入图片描述
在这里插入图片描述
用户登陆控制
/etc/vsftpd/ftpusers##永久黑
/etc/vsftpd/user_list##默认黑
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
用户登陆白名单
userlist_deny=NO
#设定/etc/vsftpd/user_list为白名单,不在名单中的用户不能登陆ftp

锁定用户到自己的家目录中
chmod u-w /home/*
chroot_local_user=YES锁定用户到自己的家目录中,这个参数打开以后,它和家目录的写权限是有冲突的,所以在这个参数打开后,需要减掉家目录的写权限,否则 lftup 172.25.254.10 -u ufo 登不上去

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

锁定用户到自己的家目录中的白名单
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

只有ufo用户没有被锁住,可以去任何位置,其它本地用户都只能在自己的家目录中
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

锁定用户到自己的家目录中的黑名单
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

只有ufo用户被锁住,只能在自己的家目录中,其它本地用户可以浏览任何位置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.虚拟用户的访问

虚拟用户:只有登录ftp的功能,其它的系统功能是没有的,不可以通过ssh登录
实验环境:
rhel8_node1主机为服务端 ip是192.168.1.19
rhel7_node1主机为客户端 ip是192.168.1.10
(1)建立虚拟用户过程
服务端:

(a)vim /etc/vsftpd/ftp_auth_file #建立认证文件模板
westos1
123
westos2
123
westos3
123
(b)db_load -T -t hash -f ftp_auth_file ftp_auth_file.db ##加密认证文件 -T 转换 -t type -f 指定转换文件
(c)vim /etc/pam.d/westos
account   required   pam_userdb.so    db=/etc/vsftpd/ftp_auth_file
auth      required   pam_userdb.so    db=/etc/vsftpd/ftp_auth_file
(d)vim /etc/vsftpd/vsftpd.conf
pam_service_name=westos ##指定认证策略文件
guest_enable=YES ##指定虚拟用户功能开启
guest_username=ftp ##指定虚拟用户在ftp服务器上的用户身份

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ftp程序识别westos认证文件,建立认证关系;ftp开启虚拟用户功能,所有虚拟用户在真实的服务器上用到的真实用户都指定为一个:叫做ftp
在这里插入图片描述
测试:在客户端进行测试,虚拟用户可以访问ftp服务器
在这里插入图片描述
注意:
虚拟用户只在ftp服务器里被承认存在,在系统里不承认用户存在
在认证文件里新加虚拟用户后,需要去再执行db_load········命令
(2)虚拟用户家目录的独立设定
服务端:

mkdir -p /ftpuserdir/westos{1..3}     ##建立虚拟用户家目录的资源
touch /ftpuserdir/westos1/westos1file
touch /ftpuserdir/westos2/westos2file
touch /ftpuserdir/westos3/westos3file
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserdir/$USER    ##用本地的家目录的参数来指定虚拟用户的家目录
user_sub_token=$USER   ##表示告诉ftp现在使用的$USER延用的是系统中$USER的用法(表示你当前的用户)
systemctl restart vsftpd

在这里插入图片描述

在这里插入图片描述
客户端测试:虚拟用户登录后的位置默认是自己的家目录
在这里插入图片描述
(3)用户配置独立
服务端:

mkdir /ftpuserdir/westos{1..3}/pubdir    #每个用户下建立目录,上传文件时到此目录
chmod 777 /ftpuserdir/westos{1..3}/pubdir #权限设置为满权限
user_config_dir=/etc/vsftpd/user_config #在此目录中与用户名称相同的文件为用户配置文件
mkdir /etc/vsftpd/user_config
vim /etc/vsftpd/user_config/westos1
anon_upload_enable=YES
设定完成后westos1用户可以上传文件
westos2和westos3不行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上传:默认全关
在这里插入图片描述
在此目录中与用户名称相同的文件为用户配置文件
在这里插入图片描述
在指定的用户的特定配置文件里写入上传YES
vim /etc/vsftpd/user_config/westos1
anon_upload_enable=YES
在这里插入图片描述
客户端测试:只有虚拟用户westos1可以上传文件,其它虚拟用户不可以上传文件
在这里插入图片描述

发布了23 篇原创文章 · 获赞 0 · 访问量 2485

猜你喜欢

转载自blog.csdn.net/weixin_45792518/article/details/104452630
今日推荐