Linux中ftp协议详解和使用

                                        Linux中ftp协议详解

一、ftp介绍
二、vsftpd安装
三、vsftpd基本信息
四、匿名用户访问控制
五、本地用户的访问
六、虚拟用户访问
七 、虚拟用户家目录的独立设定
八、用户配置独立
一、ftp介绍
ftp:file transfer proto 互联网中老牌的文件传输协议
ftp协议提供的软件:vsftpd

二、vsftpd的安装
2.1在rhel7_node1中:

yum install vsftpd -y   安装vsftpd 服务
systemctl start vsftpd   运行服务
systemctl enable vsftpd 设置为开机启动
关闭selinux和firewalld 
 vim /etc/sysconfig/selinux     配置文件中设置开机关闭selinux重启系统
 SELINUX=disabled   

在这里插入图片描述
重启之后selinux关闭
在这里插入图片描述
2.2在rhel7_node2中:
2.2.1. 测试安装发布: (两种方法)
firefox ftp://ip
lftp ip 此访问方式必须能列出资源才算访问成功
首先 :

[root@rhel7_node2 ~]#yum whatprovides */lftp    lftp不是服务相当于浏览器
[root@rhel7_node2 ~]# yum install lftp -y       安装lftp

在这里插入图片描述
在这里插入图片描述
注意:1.vsftpd关闭状态,也可以登录但是无法列出资源。2.匿名用户默认登录的目录为:/var/ftp/

三、vsftpd基本信息

服务名称: vsftpd.service
 配置目录: /etc/vsftpd 
 主配置文件: /etc/vsftpd/vsftpd.conf 
 默认发布目录: /var/ftp 
 报错信息: 
 550    程序本身拒绝 
 553    文件系统权限限制 
 500    权限过大
 530    认证失败 
[root@rhel7_1 ~]# rpm -qc vsftpd 查看服务主配置路径
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf

三、匿名用户访问控制

lftp 192.168.0.10              当访问ftp服务时没有加入用户认证为匿名访问 
lftp 192.168.0.10 -u westos    本地用户访问

在这里插入图片描述
编辑配置文件设置用户访问权限:

每次更改配置文件都要重启服务vim  /etc/vsftpd/vsftpd.conf
[root@rhel7_1 ~]# systemctl restart vsftpd
匿名用户登录控制 anonymous_enable=YES|NO

在这里插入图片描述

在这里插入图片描述

 匿名用户登录地点家目录控制anon_root=/run  自定义家目录

在这里插入图片描述

在这里插入图片描述

 匿名用户文件上传控制 anon_upload_enable=YES|NO

在这里插入图片描述
注意此文件上传到rhel7_node1/var/ftp/pub中 开放pub目录权限所有用户都可执行
在这里插入图片描述

下载控制 anon_world_readable_only=NO   NO表示匿名用户可以下载不能读取的文件

在这里插入图片描述

目录建立控制 anon_mkdir_write_enable=YES|NO
删除重命令控制 anon_other_write_enable=YES|NO

在这里插入图片描述

登陆数量控制: max_clients=2
上传速率控制 anon_max_rate=102400   本地用户不受影响

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

在这里插入图片描述

五、本地用户的访问

每次更改配置文件都要重启服务
vim  /etc/vsftpd/vsftpd.conf
[root@rhel7_1 ~]# systemctl restart vsftpd
 [root@rhel7_1 ~]# id westos   该用户密码为westos
uid=1001(westos) gid=1001(westos) groups=1001(westos)
[root@rhel7_1 ~]# useradd lee  建立Lee用户
[root@rhel7_1 ~]# passwd lee   设置密码Lee
Changing password for user lee.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

在这里插入图片描述

家目录控制 local_root=/run

在这里插入图片描述

在这里插入图片描述

写权限控制
write_enable=NO|YES   本地用户默认可以创建和删除
上传文件权限控制 local_umask=077

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

在这里插入图片描述

用户登陆控制
 /etc/vsftpd/ftpusers  永久黑 
/etc/vsftpd/user_list   默认黑与/etc//vsftpd/ftpusers 效果一致

在这里插入图片描述

用户登陆白名单 userlist_deny=NO 
设定/etc/vsftpd/user_list为白名单 ,不在名单中的用户不能登陆ftp

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

锁定用户到自己的家目录中设置完成全部本地用户都讲锁定到自己的家目录
 chmod  u-w /home/* 
 chroot_local_user=YES   

在这里插入图片描述

锁定用户到自己的家目录中的白名单 
chroot_local_user=YES 
chroot_list_enable=YES 
chroot_list_file=/etc/vsftpd/chroot_list
[root@rhel7_1 ~]# vim /etc/vsftpd/chroot_list   编辑此文件
[root@rhel7_1 ~]# cat /etc/vsftpd/chroot_list  白名单用户(此文件不存在可以直接编辑)
lee  
重启vsftpd服务    

在这里插入图片描述

锁定用户到自己的家目录中的黑名单 
chroot_local_user=NO   此条参数YES即为白名单,NO为黑名单
chroot_list_enable=YES 
chroot_list_file=/etc/vsftpd/chroot_list
[root@rhel7_1 ~]# vim /etc/vsftpd/chroot_list
[root@rhel7_1 ~]# cat /etc/vsftpd/chroot_list  黑名单用户
lee      

同白名单一样即Lee就被锁定在自己的家目录中,而westos可前往其他目录
在这里插入图片描述

六、虚拟用户访问
在rhel8_node2中

 每次更改配置文件都要重启服务vim  /etc/vsftpd/vsftpd.conf
[root@rhel7_1 ~]# systemctl restart vsftpd
  

在这里插入图片描述
在这里插入图片描述
注意再次向ftp_auth_file文件中加入虚拟用户都要再次执行加密认证
[root@rhel8_node2 pam.d]# vim /etc/vsftpd/vsftpd.conf 在这里插入图片描述
在这里插入图片描述
虚拟用户家目录的独立设定
虚拟用户默认登录到/vat/ftp/pub目录下
在这里插入图片描述
在这里插入图片描述
测试效果:
在这里插入图片描述
八、用户配置独立

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

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux 内核协议栈是指在Linux操作系统实现网络通信的核心组件。它是一个自上而下的分层体系结构,用于处理从应用层到物理层的网络数据传输。 在协议栈的顶层是应用层协议,例如HTTP、FTP和DNS等。应用层协议使用套接字与传输层进行通信。传输层包括TCP和UDP协议,负责在主机之间提供可靠的数据传输和错误恢复。TCP提供面向连接的服务,确保数据的可靠交付,而UDP提供无连接的服务,并且不进行错误恢复。 传输层下面是网络层,它负责将数据包从源主机传输到目标主机。网络层使用IP协议进行数据包的路由和转发。IP协议定义了IP地址和数据包封装格式等规范。 在网络层下面是数据链路层,它包括以太网、Wi-Fi和PPP等协议。数据链路层负责将数据包从网络层传输到物理层,并提供错误检测和传输控制。 最底层是物理层,它包括电缆、光纤和无线电等物理介质,负责实际的数据传输。 Linux内核协议栈的实现在内核空间。它使用网络协议栈的核心模块来处理网络数据的收发、封装和解封装等操作。每个层级的协议会根据需要访问下一层的服务,并将处理后的数据传递给上一层或下一层协议协议栈的设计目标是高性能和灵活性。Linux内核协议使用分层设计,使得各个层级的功能独立,并且可以根据具体需求进行扩展和定制。内核代码的高度优化使得协议栈能够高效地处理大量的网络数据,并提供可靠、快速的网络通信服务。 总之,Linux内核协议栈是Linux操作系统负责实现网络通信的关键组件。通过合理的分层设计和优化的内核代码,协议栈能够提供高性能和灵活性的网络通信服务。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值