Linux中ftp服务器部署

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

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

三、部署ftp服务
1.编辑selinux配置文件,将selinux的状态改为disabled,重启服务
在这里插入图片描述
在这里插入图片描述
查看,修改成功
在这里插入图片描述
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 ##清空

在这里插入图片描述
在这里插入图片描述
3.安装vsftpd (服务端) lftp (客户端)

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

在这里插入图片描述
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: 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
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

在这里插入图片描述
在这里插入图片描述
测试:

[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

在这里插入图片描述
在这里插入图片描述
测试:

[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

在这里插入图片描述
在这里插入图片描述
测试:

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

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

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

在这里插入图片描述
在这里插入图片描述
测试:
在这里插入图片描述
例:ftp对登陆用户可写
编辑配置文件:
在这里插入图片描述
在这里插入图片描述
测试:
在这里插入图片描述

例:ftp对登陆用户不可写
编辑配置文件:
在这里插入图片描述
在这里插入图片描述
测试:
在这里插入图片描述
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

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

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

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

anon_mkdir_write_enable=YES
编辑配置文件:
在这里插入图片描述
在这里插入图片描述
测试:建立test成功
在这里插入图片描述
7.匿名用户下载
anon_world_readable_only=YES|NO 参数NO表示匿名用户可以下载
(1)匿名用户可以下载
编辑配置文件:
在这里插入图片描述
在这里插入图片描述
测试:下载成功
在这里插入图片描述
(2)匿名用户不可以下载
编辑配置文件:
在这里插入图片描述
在这里插入图片描述
测试:报550错误
在这里插入图片描述

8.匿名用户删除
anon_other_write_enable=YES|NO ( YES表可删除)
(1)匿名用户可以删除
编辑配置文件:
在这里插入图片描述
在这里插入图片描述
测试:删除 adjtime
在这里插入图片描述
(2)匿名用户不可以删除
编辑配置文件:

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

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

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

测试:
在这里插入图片描述
(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

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

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

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

在这里插入图片描述
student用户不可以浏览根目录
在这里插入图片描述
(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用户可以浏览根目录
在这里插入图片描述
westos用户不可以浏览根目录
在这里插入图片描述

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

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

在这里插入图片描述
测试:student用户认证失败
在这里插入图片描述
westos用户登录成功
在这里插入图片描述
(2))设置临时黑名单为westos

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

在这里插入图片描述
在这里插入图片描述
测试: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

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

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

在这里插入图片描述
测试:westos用户登录成功
在这里插入图片描述
student用户登录失败
在这里插入图片描述
五、虚拟用户的设定
(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          ##密码

在这里插入图片描述
在这里插入图片描述
注意:一行用户名一行密码,编辑的时候不能有空格

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…编辑配置文件,一定要重启服务
在这里插入图片描述
测试:虚拟用户创建成功可以登录
在这里插入图片描述
(2)虚拟账号家目录独立设定
1.编辑配置文件,任意用户访问都是自己的家目录
在这里插入图片描述
在这里插入图片描述
2.建立家目录,家目录中分别添加文件
在这里插入图片描述
在这里插入图片描述
测试:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)虚拟账号配置独立
1.编辑配置文件
在这里插入图片描述
在这里插入图片描述
2.建立/etc/vsftpd/user_config目录,编辑虚拟用户westos1的配置文件,在配置文件中写入可上传功能
在这里插入图片描述
3.修改/var/ftpuserdir/westos*/pub目录的权限和所有组的权限
在这里插入图片描述

在这里插入图片描述
测试:虚拟用户westos1可以实现上传功能,而westos2不可以
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值