在万维网出现以前,用户使用DOS方式传输文件,最通用的应用程序就是FTP,FTP属于应用层协议,使用TCP端口20和21进行传输

FTP有两种文件传输模式:
二进制模式,用于传输程序文件(比如后缀名为.app、.bin和.btm的文件)
ASCII码模式,用于传输文本格式的文件(比如后缀名为.txt、.bat和.cfg的文件)
第一步、安装ftp软件

[root@localhost ~]#yum install vsftpd -y

第二步、设置FTP的配置文件

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf

#vsftpd默认支持匿名用户的访问,Vsftpd的匿名用户叫做ftp,ftp帐号的家目录是/var/ftp,其中有个目录称为pub

anonymous_enable=YES //设置是否允许匿名用户登录FTP服务器,默认为YES(改为no就使用本地用户名密码登录)

local_enable=YES //是否允许本地用户登录FTP服务器,默认为NO。
write_enable=YES //是否对登录用户开启写权限,属全局性设置,默认NO。
pam_service_name=vsftpd //设置PAM认证服务的配置文件名称,该文件存放在/etc/pam.d/目录下.
userlist_enable=YES //用户列表中的用户是否允许登录FTP服务器,默认是不允许
tcp_wrappers=YES //使用tcp_wrqppers作为主机访问控制方式
chroot_local_user=YES#将本地帐号锁定在其家目录中
local_max_rate=1000#本地帐号的限速操作
local_umask=022#上传后文件的权限

local_root=/var/ftp#设置本地用户登录后所在的目录

anon_root=/var/ftp#设置匿名用户登录后所在的目录

第三步、修改用户权限(将root注释掉,不拒绝root用户登录,其它用户都拒绝访问)

[root@localhost ~]#vim /etc/vsftpd/user_list

[root@localhost ~]#vim /etc/vsftpd/ftpusers

user_list这个文件是用来记录"不允许"登录到FTP服务器的用户,通常是一些系统默认的用户
root //默认情况下,root和它以下的用户是不允许登录FTP服务器的.可以将不允许登录的用户添加到这里来.但切记每个用户都要单独占用一行.
ftpusers其实它的内容结合user_list对用户检测

在vsftpd中使用本地帐号登录,将直接登录到该帐号的家目录中,这时要特别注意selinux,如果开启,将无切换到家目录中

setsebool -P ftpd_disable_trans=1  //配置VSFTPD时本地用户无法切换

第四步、设置ftp目录权限

[root@localhost ~]# chmod 777 /var/ftp#默认匿名帐号只能下载,不能上传,修改,重命名文件

匿名帐号只能向其家目录下的一个子目录上传文件,例如:向/var/ftp/pub目录中上传文件。(/var/ftp/pub目录必须有写入的权限)

[root@localhost ~]# vim /etc/hosts.allow

通过/etc/hosts.allow和/etc/hosts.deny来控制用户的访问,这种方式称为TCPWRAPPER

/etc/hosts.allow

vsftpd:172.24.254.254

etc/hosts.deny

ALL:ALL

第五步、重启FTP服务

[root@localhost ~]#service vsftpd  restart  重新启动FTP服务(这里防火墙已经关闭了)

[root@localhost ~]# sestatus -b | grep ftp 

[root@localhost ~]#sudo setsebool -P /var/ftp on

第六步、验证登录信息

打开浏览器 输入ftp://IP  即可登录或

关闭windows防火墙再试试

搭建TFTP服务

[root@localhost ~]# yum install tftp-server -y
[root@localhost ~]# vim /etc/xinetd.d/tftp #编辑使其打开tftp功能    
# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
~                                                                                           
~                                                                                           
~              
}
[root@localhost ~]# service xinetd restart