20:用来传输数据
21:用来传输命令
两种模式:默认为被动模式
主动模式:同时开启并监听20和21端口
被动模式:只开启并监听21端口
2、配置文件说明:/etc/vsftpd/vsftpd.conf
anonymous_enable=YES --是否启动匿名用户登陆,yes是允许
local_enable=YES --允许本地用户登陆
write_enable=YES --允许本地用户写权限
local_umask=022 --本地用户上传或创建文件时的权限
anon_upload_enable=YES --默认是注释的,意为允许匿名用户上传文件
anon_mkdir_write_enable=YES --默认是注释的,意为允许匿名用户创建文件
dirmessage_enable=YES --文件的描述
xferlog_enable=YES --开启日志(/var/log/xferlog),只上传和下载的记录
connect_from_port_20=YES --是否允许开启主动模式,通过20端口传输数据
xferlog_std_format=YES --为yes的话代表创建一个新的日志文件,为no的话,日志放到/var/log/vsftpd.log文件里
listen=YES --是否是独立的模式
pam_service_name=vsftpd --支持模块的植入
userlist_enable=YES --允许用户查看文件列表
tcp_wrappers=YES --通过TCP把数据打包再传输
3、修改FTP的家目录
# chmod 757 /var/ftp/pub --把/var/ftp/pub文件权限改为757,是因为该文件所属用户为root,ftp登陆使用的用户是非root
5、主动与被模式的切换:passive命令 (匿名用户和系统用户登录方法)
# ftp 81.1.1.128
--登陆ftp服务器,输入ftp帐号,密码直接回车,则为匿名用户登陆
--登陆ftp服务器时,输入了ftp帐号,又输入了正确的密码,则为系统用户登陆
默认进去的家目录:/var/ftp
ftp > cd pub --进入到要上传目标位置的文件夹里,才可以上传文件
ftp > put nohup.out --上传系统当前目录下的nohup.out文件到ftp的当前文件夹
ftp > get ftp.log --下载ftp.log文件到系统的当前目录
实例1:a,b,c用户都只能上传和下载自己的文件,不同的用户之间不能互相下载和删除。
使用/var/log/vsftpd.log记录日志,并实现日志每月轮转一次,保留两个归档日志副本。
1、首先创建a,b,c用户,并指定家目录为/ftp,登陆shell为/sbin/nologin
# useradd -s /sbin/nologin -d /ftp a --创建用户a,b,c
# echo a123 |passwd --stdin a&>/dev/null --给a,b,c修改密码
# chown root:root /ftp
# chmod 757 /ftp
# chmod o+t /ftp --给/ftp目录添加粘贴位,用于控制该目录下的文件谁创建的就只有谁能删除和下载
#vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES --开启匿名用户登陆,且能下载
local_enable=YES --开启本地登陆,且能下载
write_enable=YES --开记本地用户写权限
local_umask=022 --指定本地用户上传文件权限为644,创建的文件夹权限为755
anon_umask=022 --匿名用户上传和创建文件夹的umask值
dirmessage_enable=YES --文件夹描述
xferlog_enable=YES --开启日志
connect_from_port_20=YES --允许开启主动模式
xferlog_std_format=NO --NO代表日志写到/var/log/vsftpd.log下,YES代表日志写到/var/log/xferlog下
listen=YES --独立模式,为yes代表是用vsftpd本身脚本启动,为no代表要以xinetd守护进程启动
pam_service_name=vsftpd --允许植入模块
userlist_enable=YES --打开用户列表
userlist_deny=NO --/etc/vsftpd/user_list文件里的用户允许登陆
tcp_wrappers=YES --通过TCP把数据打包再传输
anon_max_rate=100000 --匿名用户最大下载传输速度为100kb/s
local_max_rate=100000 --本地普通用户最大下载速度为100kb/s
max_clients=300 --限制客户端最大连接数为300
匿名用户登录不,其他用户能登录:
因为 ftp服务的机制,所以/var/ftp的权限必须是755 ,不然会登录不上默认会以root用户登录
而在/var/ftp下面的pub目录 就必须给757权限。不然上传,下载都操作不了
3、修改ftp用户控制文件/etc/vsftpd/user_list
--在最下面添加a,b,c,ftp,anonymous这5个用户,a,b,c为普通用户登陆,ftp,anonymous为匿名用户登陆
# vim /etc/vsftpd/user_list
a
b
c
ftp
anonymous
4、修改日志配置文件,实现日志归档
# vim /etc/logrotate.d/syslog --在下面添加一行ftp日志文件
/var/log/vsftpd.log
{
monthly --日志按月轮转归档
rotate 2 --保留两个轮转日志
}
实例2:使用ftp服务把yum源共享出来,用网页的方式:
# mount -o loop /opt/CentOS.6.5.iso /var/ftp --把本地iso镜像文件挂载到/var/ftp目录下
# mount -o loop /dev/sr0 /var/ftp --如果是虚拟机,使用这种
6、启动服务测试
# /etc/init.d/vsftpd restart --重启服务
7、客户机配置ftp远程yum
# cd /etc/yum.repos.d/ --cd到yum配置文件目录
# rm --删除默认的配置文件
# vim ./CentOS.rep -fr ./*o --创建一个yum配置文件
[ftp-yum]
name=Centos-ftp-yum
baseurl=ftp://81.1.1.128
enabled=1
gpgcheck=0