ftp协议及vsftpd的基本应用

1、ftp协议及vsftpd的基本应用
         文件共享服务:
                 工作在应用层:ftp(file transfer protocol)
                          应用层协议:tcp, 
                 工作在内核:nfs
                 跨平台:samba
           ftp工作在221号端口,传输数据:
                  命令连接:文件管理类命令,始终在线的连接
                  数据连接:数据传输,按需创建及关闭连接
   
            主动连接:由服务器创建连接
                    命令连接:
                            client用随机端口发起连接请求到server 21,client会把使用端口告诉服务器端 
                    数据连接:
                             server用20号端口连接客户端发起端口+1或+2连接客户端
             被动连接:由客户端创建连接
                     命令连接:
                               client用随机端口连接server21号端口,并告诉客户端请求数据会用哪个随机端口。
                     数据连接:
                                clinent用随机+1端口连接服务端已告知的随机端口。
              ftp server:wu-ftpd、proftpd、puerftp、vsftpd、servu
              ftp client:ftp、lftp、wget、filezilla、gftp、flashfxp、cuteftp
               响应码:
                       1xx:信息
                       2xx:成功类状态
                       3xx:需要进一步提供补充类信息
                       4xx:客户端错误信息
                       5xx:服务端错误信息
              

220表示链接成功的状态码,

331表示输入用户名后需要进一步补充信息即密码(密码为空)

230表示登陆成功

227表示被动模式

(192,168,108,160,104,145)表示在被动模式下服务器端要打开一个随机端口和客户端链接,监听在192.168.108.160地址上的104*256+145的随机端口上

226表示目录显示成功

用户认证:
                       虚拟用户:仅用于访问某特定服务中的资源
                              nsswitch:network server switch:名称解析框架
                                      配置文件:/etc/nsswitch.conf
                                      模块:/lib64/libnss*,/usr/lib64/libnss
                               pam:pluggable authentication module
                                       配置文件:/etc/pam.conf,/etc/pam.d/*
                                       模块:/lib64/security/
                  支持系统用户:
                  支持匿名用户:

centos自带的是vsftp

yum -y install vsftpd
rpm -ql vsftpd
用户认证配置文件 /etc/pam.d/vsftpd
启动服务脚本:/etc/rc.d/init.d/vsftpd
日志滚动:/etc/logrotate.d/vsftpd
配置文件目录:/etc/vsftpd

主配置文件:/etc/vsftpd/vsftpd.conf

主应用程序:/usr/sbin/vsftpd
匿名用户共享资源位置:/var/ftp,匿名用户:yum install finger                    
系统用户登录ftp访问资源位置是用户家目录
虚拟用户通过ftp访问资源的位置映射为系统用户家目录

客户端安装:yum install ftp或者在浏览其中输入ftp://192.168.146.138
          vim /etc/vsftpd/vsftpd.conf 
            匿名用户配置:      
               是否支持匿名用户登录:anonymous_enable=YES 
               是否支持匿名用户创建目录:anon_mkdir_write_enable=YES

是否支持匿名用户上传: #anon_upload_enable=YES

是否支持匿名用户删除目录:anon_ohter_write_enable=YES

系统用户配置:
            是否支持本地用户:local_enable=YES
            系统用户写权限:write_enable=YES
            禁锢系统用户只能在自己家目录 :#chroot_local_user=YES         
            禁锢指定用户在其家目录中:#chroot_list_enable=YES、chroot_list_file=/etc/vsftpd/chroot_list

是否支持匿名用户上传: #anon_upload_enable=YES

在没有开启#anon_upload_enable=YES之前是不支持匿名用户上传的,首先应在/etc/vsftpd/vsftpd.conf 开启这一功能

frp>lcd /etc 是切换上传目录

开启匿名用户上传之后,再次上传还是不行,因为/var/ftp都是root权限

# ls -ld /var/ftp

# ps aux | grep ftp但是vsftpd程序是以普通用户ftp运行的

因此可以在/var/ftp目录下创建一个目录,并添加额外权限

切换到远程主机(另一个IP地址的主机)

禁锢指定用户在其家目录中:#chroot_list_enable=YES、chroot_list_file=/etc/vsftpd/chroot_list

编辑/etc/vsftpd/chroot_list 这个文件后只添加了centos,因此fedora可以看到家目录,而centos不能看到家目录

2、vsftpd的高级应用

vim /etc/vsftpd/vsftpd.conf

所有以#开头,后面跟了空格再跟字符的纯粹是注释行

以#开头,后面直接跟字符的,比如第3行,是可以启用的选项

直接顶头写的,比如第二行是已经启用的

比如第1行,顶头有空格的,又启用的属于语法错误

系统用户配置:

1、在ftp任何目录下创建.message文件,当用户进入该目录时显示.message中内容  dirmessage_enable=YES
               2、是否启用传输日志:xferlog_enable=YES     
               3、指定日志文件位置:#xferlog_file=/var/log/xferlog
               4、修改上传用户属主:#chown_uploads=YES
               5、指定修改上传用户:#chown_username=whoever      
               6、设定用户超时时长:#idle_session_timeout=600
               7、数据连接超时时长:#data_connection_timeout=120         
               8、登录ftp时显示的信息:#ftpd_banner=Welcome to blah FTP service.
               9、配置文件在:/etc/pam.d/vsftpd -->   pam_service_name=vsftpd   
                    vsftpd使用pam完成用户认证,启用到的pam配置文件

pam_service_name=vsftpd  主要功能是:指明在/etc/pam.d/目录下,

用哪个文件完成基于pam对vsftpd进行用户认证

这一项启用后,在/etc/pam.d/vsftpd中

auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed

如果在/etc/vsftpd/ftpusers文件中添加用户的名称,则禁止登陆。

例如我在这个文件中假如centos

10、 (是否启用用户登录列表文件,默认配置文件/etc/vsftpd/user_list(手动创建):userlist_enable=YES

是否启用/etc/vsftpd/user_list列表文件:userlist_deny=yes|no )

# vim /etc/vsftpd/vsftpd.conf

添加user_list_deny=YES此时user_list是黑名单,

如果user_list_deny=NO就是白名单,只有定义在/etc/vsftpd/user_list文件中的用户才能登陆

# vim user_list  添加centos,再次登陆时直接拒绝

链接限制     

11、tcp_wrappers=YES        
               最大并发连接数(无论多少个IP):max_clients
               每个IP可同时发起的并发请求数:max_per_ip

传输速率:

匿名用户的最大传输速率,单位是“字节/秒”:anon_max_rate

本地用户最大的传输速率:local_max_rate

1、在/var/ftp/upload目录下创建一个.message文件,添加内容:

1 hello guest
2 how are you?

在另一个主机访问这个目录:

虚拟用户配置:
        所有虚拟用户会被统一映射为一个指定系统账号,访问共享位置为此账号家目录。

各虚拟用户被赋予不同的访问权限;

通过参数进行指定虚拟用户账号的存储方式:

1、文件:编辑文件:

奇数行为用户名,

偶数行为密码。此文件需要被编译为hash格式:

2、关系型数据库中的表:

即时查询数据库完成用户认证:

mysql库

pam要依赖于pam_mysql

#yum install pam_mysql
       
 
                                                           

lftp:lftp -u username ip
       
 -c:支持断点续传

axel  下载很快

lftpget   wget  curl

ftp协议是明文

原文地址:https://www.cnblogs.com/hanshanxiaoheshang/p/9248320.html

时间: 2024-10-09 22:47:39

ftp协议及vsftpd的基本应用的相关文章

马哥教育第二十四ftp协议、vsftpd的高级应用、rpc概念及nfs的基本应用、samba及其基本应用

1.ftp协议及vsftpd的基本应用         文件共享服务:                 工作在应用层:ftp(file transfer protocol)                          应用层协议:tcp,                  工作在内核:nfs                 跨平台:samba           ftp工作在221号端口,传输数据:                  命令连接:文件管理类命令,始终在线的连接       

linux架构学习第二十八天之FTP协议以及vsftpd的使用

内容: 1.ftp协议 2.vsftpd的搭建及配置 一.FTP协议     1.FTP协议: FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".工作在第七层,而且是基于TCP协议传输数据. FTP工作原理与其它的应用协议有些不同.它是用两个端口进行通信的.一个端口用于命令交互.这个端口在用户连接之后一直保持:而另一个端口只是在数据传时打开(比如:上传文件,下载文件,获取服务端文件列表),在数据传输时有两种不同的模式,一是用户开

搭建 FTP 文件服务vsftpd

安装并启动 FTP 服务 安装 VSFTPD 使用 yum 安装 vsftpd: yum install vsftpd -y vsftpd 是在 Linux 上被广泛使用的 FTP 服务器,根据其[官网介绍][https://security.appspot.com/vsftpd.html],它可能是 UNIX-like 系统下最安全和快速的 FTP 服务器软件. 启动 VSFTPD 安装完成后,启动 FTP 服务: service vsftpd start 启动后,可以看到系统已经[监听了 2

二.第九单元 ftp协议

#### 二 . 第九单元 ####1.什么是ftp文件传输协议2.安装ftpyum install vsftpd -ysystemctl start vsftpdsystemctl stop firewalldsystemctl enable vsftpdsetenforce 0lftp ip           ##能登陆并且显示,表示安装成功 3.vsftpd文件信息/var/ftp          ##默认发布目录/etc/vsftpd       ##配置目录 4.vsftpd服务的

转FTP协议详解

转自:http://www.cnblogs.com/li0803/archive/2010/11/16/1878833.html FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”.用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Application).用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息.FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行

FTP协议详解(转)

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”.用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Application).用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息.FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)察看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去. 工作

exportfs命令 NFS客户端问题 FTP介绍 使用vsftpd搭建ftp

一.exportfs命令NFS服务端的nfs服务不能随意重启,如果需要重启服务端的nfs服务,需要先把挂载服务端共享目录的所有客户端的挂载先全部卸载客户端执行:#umount /mnt/ //提示如下umount.nfs4: /mnt: device is busy解决:第一种办法:退出/mnt目录[[email protected] mnt]# cd[[email protected] ~]# umount /mnt/第二种方法:#umount -l /mnt/ 先卸载掉客户端的挂载,然后在重

详解FTP服务之vsftpd(附三种用户安装脚本)

FTP(File Transfer Protocol,文件传输协议)可以在网络中传输文档.图像.视频以及应用程序等多种类型的文件.在企业中大多数情况下,则是用户使用FTP从服务器上下载文件.一个完整的FTP文件传输需要建立两种类型的连接,一种为控制文件传输的命令,称为控制连接:另一种实现真正的文件传输,称为数据连接控制连接:客户端希望与FTP服务器建立上传下载的数据传输时,它首先向服务器TCP协议的21端口发起一个建立连接的请求,FTP服务器接受来自客户端的请求,完成连接的建立过程,这样的连接就

FTP 协议解析

本文首发:https://www.somata.work/2019/FTPExplanation.html FTP全称: File Transfer Protocol,是一个用于文件传输的协议,本文主要讲解FTP协议.如果有不懂的地方可以查询FTP的定义文档: RFC 959 或者在评论中提出,同时有写错的地方也希望能提出来,大家一起进步. FTP 是一个协议而不是一个服务,很多人把FTP理解为了一个服务,这里是不正确的,其实应用了FTP协议的服务也有很多,例如:vsftpd, pure-ftp