Linux中ftp服务器部署

一、ftp的定义:ftp: // ##文件传输协议

二、ftp协议提供的软件
在rhel7中:vsftpd

三、部署ftp服务
1.编辑selinux配置文件,将selinux的状态改为disabled,重启服务
在这里插入图片描述
Linux中ftp服务器部署_第1张图片
查看,修改成功
在这里插入图片描述
2.配置yum源

[root@server_sshd ~]# cd /etc/yum.repos.d ##切换到 yum.repos.d路径下
[root@server_sshd yum.repos.d]# vim rhel_dvd.repo ##编辑
[root@server_sshd yum.repos.d]# yum clean all ##清空

Linux中ftp服务器部署_第2张图片
Linux中ftp服务器部署_第3张图片
3.安装vsftpd (服务端) lftp (客户端)

[root@server_sshd yum.repos.d]# yum install vsftpd lftp -y   ##安装

Linux中ftp服务器部署_第4张图片
4.开启vsftpd服务

[root@server_sshd yum.repos.d]# systemctl start vsftpd

在这里插入图片描述
5.查看火墙状态并添加ftp服务

[root@server_sshd yum.repos.d]# firewall-config 
[root@server_sshd ftp]# firewall-cmd --list-all
public (default, active)
 interfaces: eth0
 sources: 
services: dhcpv6-client ftp ssh
 ports: 
masquerade: no
forward-ports: 
  icmp-blocks: 
    rich rules: 

Linux中ftp服务器部署_第5张图片
Linux中ftp服务器部署_第6张图片
Linux中ftp服务器部署_第7张图片
Linux中ftp服务器部署_第8张图片
6.真机里查看

[kiosk@foundation29 ~]$ lftp 172.25.254.229
lftp 172.25.254.229:~> ls
drwxr-xr-x    2 0        0               6 Mar 07  2014 pub
lftp 172.25.254.229:/> quit

在这里插入图片描述
7.切换到/var/ftp目录下ls查看
在这里插入图片描述
8.新建一个文件

[root@server_sshd ftp]# touch westos

在这里插入图片描述
真机查看

[kiosk@foundation29 ~]$ lftp 172.25.254.229
lftp 172.25.254.229:~> ls
drwxr-xr-x    2 0        0               6 Mar 07  2014 pub
-rw-r--r--    1 0        0               0 Jan 2303:25westos

在这里插入图片描述
ftp服务的基本信息

软件安装包 vsftpd
默认发布目录 /var/ftp
协议接口 21/tcp
服务配置文件 /etc/vsftpd/vsftpd.conf
报错id解析500 文件系统权限过大
530 用户认证失败
550 服务本身功能未开放
553 本地文件系统权限过小

四、ftp的安全部署
1.anonymous_enable=YES|NO ##匿名用户是否可以登陆

例:匿名用户可以登陆
编辑配置文件,一定要重启服务

[root@server_sshd ftp]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
[root@server_sshd ftp]# systemctl restart vsftpd

在这里插入图片描述
Linux中ftp服务器部署_第9张图片
测试:

[kiosk@foundation29 ~]$ lftp 172.25.254.229
lftp 172.25.254.229:~> ls
drwxr-xr-x    2 0        0               6 Mar 07  2014 pub
-rw-r--r--    1 0        0               0 Jan 2303:25westos

在这里插入图片描述
例:匿名用户不可以登陆
编辑配置文件:

[root@server_sshd ftp]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
[root@server_sshd ftp]# systemctl restart vsftpd

在这里插入图片描述
Linux中ftp服务器部署_第10张图片
测试:

[kiosk@foundation29 ~]$ lftp 172.25.254.229
lftp 172.25.254.229:~> ls
Interrupt       

在这里插入图片描述
2.本地用户

(1)local_enable=YES|NO ##本地用户是否可以登陆

(2)write_enable=YES|NO ##ftp是否对登陆用户可写

例:本地用户可以登陆
编辑配置文件:

[root@server_sshd ftp]# vim /etc/vsftpd/vsftpd.conf
local_enable=YES
[root@server_sshd ftp]# systemctl restart vsftpd

在这里插入图片描述
Linux中ftp服务器部署_第11张图片
测试:

[kiosk@foundation29 ~]$ lftp 172.25.254.229 -u student
Password: 
lftp [email protected]:~> ls    
lftp [email protected]:~> quit

在这里插入图片描述
例:本地用户不可以登陆
编辑配置文件:

[root@server_sshd ftp]# vim /etc/vsftpd/vsftpd.conf
local_enable=NO
[root@server_sshd ftp]# systemctl restart vsftpd

在这里插入图片描述
Linux中ftp服务器部署_第12张图片
测试:
在这里插入图片描述
例:ftp对登陆用户可写
编辑配置文件:
在这里插入图片描述
在这里插入图片描述
测试:
Linux中ftp服务器部署_第13张图片

例:ftp对登陆用户不可写
编辑配置文件:
在这里插入图片描述
在这里插入图片描述
测试:
Linux中ftp服务器部署_第14张图片
3.匿名用户上传
(1)编辑配置文件:

[root@server_sshd ftp]# vim /etc/vsftpd/vsftpd.conf
write_enable=YES
anon_upload_enable=YES
[root@server_sshd ftp]# systemctl restart vsftpd

在这里插入图片描述
Linux中ftp服务器部署_第15张图片
(2)测试:报553错误,权限过小
在这里插入图片描述
(3)修改匿名用户目录的所有组并给所有组添加可写的权限
在这里插入图片描述
(4)测试:上传成功
Linux中ftp服务器部署_第16张图片
4.匿名用户家目录修改
anon_root=/direcotry
<1>编辑配置文件:
在这里插入图片描述
Linux中ftp服务器部署_第17张图片
<2>建立目录/westos,在目录里建立三个文件
在这里插入图片描述
<3>测试:家目录变为新建目录中的内容
在这里插入图片描述

5.匿名用户上传文件默认权限修改

anon_umask=xxx
编辑配置文件:
在这里插入图片描述
在这里插入图片描述
测试:
Linux中ftp服务器部署_第18张图片
注释掉设置,重启服务
在这里插入图片描述
测试:权限变为原来的
Linux中ftp服务器部署_第19张图片
6.匿名用户建立目录

anon_mkdir_write_enable=YES
编辑配置文件:
在这里插入图片描述
在这里插入图片描述
测试:建立test成功
Linux中ftp服务器部署_第20张图片
7.匿名用户下载
anon_world_readable_only=YES|NO 参数NO表示匿名用户可以下载
(1)匿名用户可以下载
编辑配置文件:
在这里插入图片描述
在这里插入图片描述
测试:下载成功
Linux中ftp服务器部署_第21张图片
(2)匿名用户不可以下载
编辑配置文件:
在这里插入图片描述
在这里插入图片描述
测试:报550错误
Linux中ftp服务器部署_第22张图片

8.匿名用户删除
anon_other_write_enable=YES|NO ( YES表可删除)
(1)匿名用户可以删除
编辑配置文件:
在这里插入图片描述
在这里插入图片描述
测试:删除 adjtime
Linux中ftp服务器部署_第23张图片
(2)匿名用户不可以删除
编辑配置文件:

在这里插入图片描述
在这里插入图片描述
测试:没有删除
Linux中ftp服务器部署_第24张图片
9.匿名用户使用的用户身份修改
编辑配置文件:
在这里插入图片描述
Linux中ftp服务器部署_第25张图片
在这里插入图片描述
测试:
Linux中ftp服务器部署_第26张图片
10.最大上传速率
anon_max_rate=102400
<1>截取文件,用于测试上传速率
在这里插入图片描述
<2>不限速情况上传速率很大
Linux中ftp服务器部署_第27张图片
<3>编辑配置文件,将最大速率改为102400
在这里插入图片描述
在这里插入图片描述
<4>测试:上传速率很慢
在这里插入图片描述
11.最大链接数
max_clients=1 表示最多有一个可以连接
<1>编辑配置文件,设置只有一个可以连接
在这里插入图片描述
<2>测试:
在这里插入图片描述
在重新打开一个shell,进行连接,连接失败
在这里插入图片描述
12.本地用户家目录修改
anon_root=/direcotry
编辑配置文件:
在这里插入图片描述
在这里插入图片描述
测试:
Linux中ftp服务器部署_第28张图片
13.本地用户上传文件权限
local_umask=077
编辑配置文件:
在这里插入图片描述
在这里插入图片描述
测试:
Linux中ftp服务器部署_第29张图片

14.限制本地用户浏览目录

(1)所有用户被锁定到自己的家目录中
1.默认情况下本地用户可以浏览根目录
Linux中ftp服务器部署_第30张图片
编辑配置文件:
在这里插入图片描述
在这里插入图片描述

测试:
Linux中ftp服务器部署_第31张图片
(2)用户黑名单建立
1.编辑配置文件:

[root@server_sshd student]# vim /etc/vsftpd/vsftpd.conf
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

在这里插入图片描述
Linux中ftp服务器部署_第32张图片
2.设置用户黑名单为student

[root@server_sshd student]# touch /etc/vsftpd/chroot_list
[root@server_sshd student]# vim /etc/vsftpd/chroot_list
student

在这里插入图片描述
测试:westos用户可以浏览根目录

Linux中ftp服务器部署_第33张图片
student用户不可以浏览根目录
Linux中ftp服务器部署_第34张图片
(3)用户白名单建立
1.编辑配置文件

[root@server_sshd student]# vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES
chroot_list_enable=YES
 chroot_list_file=/etc/vsftpd/chroot_list

在这里插入图片描述
在这里插入图片描述
2.设置用户白名单为student

[root@server_sshd student]# vim /etc/vsftpd/chroot_list
student

在这里插入图片描述
测试: student用户可以浏览根目录
Linux中ftp服务器部署_第35张图片
westos用户不可以浏览根目录
在这里插入图片描述

15.限制本地用户登陆
(1)设置永久黑名单为student

[root@server_sshd vsftpd]# vim ftpusers   ##用户永久黑名单

Linux中ftp服务器部署_第36张图片
测试:student用户认证失败
在这里插入图片描述
westos用户登录成功
在这里插入图片描述
(2))设置临时黑名单为westos

[root@server_sshd vsftpd]# vim user_list    ##用户临时黑名单
westos

在这里插入图片描述
Linux中ftp服务器部署_第37张图片
测试:westos用户认证失败
在这里插入图片描述
(3)用户白名单设定
1.编辑配置文件

[root@server_sshd vsftpd]# vim /etc/vsftpd/vsftpd.conf
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO
tcp_wrappers=YES

在这里插入图片描述
Linux中ftp服务器部署_第38张图片
注意:修改userlist_deny=NO时,user_list就变成用户白名单(只有在名单中出现的用户才可以登录)
2.设置白名单为westos

[root@server_sshd vsftpd]# systemctl restart vsftpd
[root@server_sshd vsftpd]# vim user_list

Linux中ftp服务器部署_第39张图片
测试:westos用户登录成功
在这里插入图片描述
student用户登录失败
Linux中ftp服务器部署_第40张图片
五、虚拟用户的设定
(1)建立虚拟用户
建立方式:
1.创建虚拟账号身份

[root@server_sshd ~]# cd /etc/vsftpd/
[root@server_sshd vsftpd]# vim userfile
[root@server_sshd vsftpd]# cat userfile
westos1     ##虚拟用户
123          ##密码
westos2    ##虚拟用户
123          ##密码
westos3   ##虚拟用户
123          ##密码

Linux中ftp服务器部署_第41张图片
Linux中ftp服务器部署_第42张图片
注意:一行用户名一行密码,编辑的时候不能有空格

2.加密文件
在这里插入图片描述
3.查看文件类型,hash加密
在这里插入图片描述
4. vim /etc/pam.d/ftpauth (验证密码与用户是否一致的文件)
在这里插入图片描述
注意:required表示用户名认证必须正确,否则直接pass
db=/etc/vsftpd/userfile,后边不能加.db,
如果写成db=/etc/vsftpd/userfile.db,则会将文件识别成userfile.db.db
5…编辑配置文件,一定要重启服务
Linux中ftp服务器部署_第43张图片
测试:虚拟用户创建成功可以登录
Linux中ftp服务器部署_第44张图片
(2)虚拟账号家目录独立设定
1.编辑配置文件,任意用户访问都是自己的家目录
在这里插入图片描述
Linux中ftp服务器部署_第45张图片
2.建立家目录,家目录中分别添加文件
在这里插入图片描述
在这里插入图片描述
测试:
Linux中ftp服务器部署_第46张图片
Linux中ftp服务器部署_第47张图片
Linux中ftp服务器部署_第48张图片
(3)虚拟账号配置独立
1.编辑配置文件
在这里插入图片描述
Linux中ftp服务器部署_第49张图片
2.建立/etc/vsftpd/user_config目录,编辑虚拟用户westos1的配置文件,在配置文件中写入可上传功能
Linux中ftp服务器部署_第50张图片
3.修改/var/ftpuserdir/westos*/pub目录的权限和所有组的权限
在这里插入图片描述

Linux中ftp服务器部署_第51张图片
测试:虚拟用户westos1可以实现上传功能,而westos2不可以
Linux中ftp服务器部署_第52张图片
Linux中ftp服务器部署_第53张图片

你可能感兴趣的:(Linux中ftp服务器部署)