# yum -y install vsftp
#rpm -ql vsftpd //列出安装文件如下
/etc/logrotate.d/vsftpd. vsftpd的日志文件
/etc/pam.d/vsftpd PAM认证文件
/etc/rc.d/init.d/vsftpd 启动脚本
/etc/vsftpd vsftpd的配置文件存放的目录
/etc/vsftpd/ftpusers 禁止使用vsftpd的用户列表文件
/etc/vsftpd/user_list 禁止或允许使用vsftpd的用户列表文件
/etc/vsftpd/vsftpd.conf 主配置文件
/etc/vsftpd/vsftpd_conf_migrate.sh vsftpd操作的一些变量和设置
/usr/sbin/vsftpd vsftpd的主程序
#systemctl start vsftpd 或者 # service vsftpd start
# systemctl enable vsftpd 或者 # chkconfig vsftpd on
3,添加ftp目录,添加账号,并设置密码
# useradd -d /ftp -s /sbin/nologin ftpzl
# passwd ftpzl
(阿里云的默认是可以匿名访问的,想要不匿名访问就将anonymous_enable=YES 改为 anonymous_enable=NO)
# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO # 禁用匿名登录 # 若只允许匿名用户访问,前面加上#注释掉即可阻止本地用户访问FTP服务器
chroot_local_user=YES # 启用限定用户在其主目录下
chroot_list_enable=YES
use_localtime=YES # 使用本地时(自行添加)
local_enable=YES # 允许使用本地帐户进行FTP用户登录验证
write_enable=YES #是否允许本地用户对FTP服务器文件具有写权限,默认设置为YES允许
local_umask=022 # 设置本地用户默认文件掩码022 ,#本地用户上传文件的权限
# FTP上本地的文件权限,默认是077,不过vsftpd安装后的配置文件里默认是022
allow_writeable_chroot=YES # 如果启用了限定用户在其主目录下需要添加这个配置,解决报错 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
xferlog_enable=YES # 启用上传和下载的日志功能,默认开启。
# 是否允许监听。
# 如果设置为YES,则vsftpd将以独立模式运行,由vsftpd自己监听和处理IPv4端口的连接请求
listen=YES
****:
01 : 匿名用户登录
注释掉配置文件vsftpd.conf以下内容
anon_upload_enable=YES
anon_mkdir_write_enable=YES
这样即完成匿名用户的配置,此时匿名用户既可以登录上传、下载文件。
修改配置文件后需要重启服务。
02 : 非匿名用户登录
vsftpd服务与系统用户是相互关联的,比如我们创建一个新的用户,那么此用户在默认配置的情况下就可以实现登录
创建用户:专门用来登录ftp服务器
命令:# useradd ftpuser
设置ftp用户密码
命令:# passwd ftpuser
创建用户完成,即可使用该账号登录,记得用普通登录不要用匿名了。登录后默认的路径为 /home/ftpuser
03 : 外网访问
ftp服务器默认端口21,centos默认不开启,开放防火墙21端口,修改iptables手动开启
或者直接关闭防火墙:命令:# service iptables stop
编辑配置文件命令 :# vim /etc/sysconfig/iptables
在行上面有22 -jACCEPT 下面另起一行输入跟那行差不多的,只是把22换成21
04 :修改selinux
外网是可以访问上去了,可是发现没法返回目录(使用ftp的主动模式,被动模式还是无法访问),也上传不了,因为selinux作怪了。
05 开启被动模式
130 pasv_enable=YES
131 pasv_min_port=6000
132 pasv_max_port=7000
#useradd ftp**
# echo "123456" | passwd --stdin ftp**
# systemctl restart vsftpd
.通过浏览器访问
注意是ftp服务,不是http服务,要是想通过http服务访问,可以通过nginx实现
使用xftp。这样可以解决防火墙导致的问题。
现在登录ftp后进进入了/home/ftp**(用户名/
目录)。并且可以上传下载了。
注意:(ftp连接模式port模式和pasv模式。设置ftp 链接模式为port (主动模式) ,ftp客户端一般默认使用的pasv (被动模式) 。如果不修改模式,用户链接服务器后,目录一直不能显示。所以要修改为主动模式。 比如xftp就可以如上图所示把使用被动模式前面的钩去掉就可以了)
或者使用Windows DOS 窗口连接
================================================================================================================================================================================================
FTP连接550报错:
原因是:selinux启用的原因
# getenforce
# vim /etc/selinux/config
SELINUX=disabled
# setenforce 0