本文基于centos6进行,为防止实验失败,操作前,请先关闭selinux和iptables。 #setenforce 0 #service iptables stop 一、简介
FTP(文件传输协议)全称是:Very Secure FTP Server。 Vsftpd是linux类操作系统上运行的ftp服务器软件。
vsftpd提供了三种登录方式:1、匿名登录;2、本地用户登录;3、虚拟用户登录
FTP会话采用了两种连接: 命令连接:文件管理类命令,始终在线的连接,监听在TCP/21 数据连接:数据连接,按需创建及关闭的连接
二、vsftpd的配置
用户认证配置文件:/etc/pam.d/vsftpd
服务脚本:/etc/rc.d/init.d/vsftpd
配置文件目录:/etc/vsftpd
主配置文件:vsftpd.conf
匿名用户(映射为ftp用户)共享资源位置:/var/ftp
系统用户通过ftp访问的资源的位置:用户自己的家目录
虚拟用户通过ftp访问的资源的位置:给虚拟用户指定的映射成为的系统用户的家目录
匿名用户的配置:
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_ohter_write_enable=YES
系统用户的配置:
local_enable=YES
write_enable=YES
local_umask=022
禁锢所有的ftp本地用户于其家目录中:
chroot_local_user=YES
禁锢文件中指定的ftp本地用户于其家目录中:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
日志:
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/xferlog
改变上传文件的属主:
chown_uploads=YES
chown_username=whoever
vsftpd使用pam完成用户认证,其用到的pam配置文件:
pam_service_name=vsftpd
三、vsftpd的搭建
1、安装vsftpd,并且启动vsftpd
#yum install vsftpd -y
#service vsftpd start
2、编辑配置文件/etc/vsftpd/vsftpd.conf,启用anon_upload_enable=YES,开启匿名上传;
#mkdir /var/ftp/uploads
#setfacl -m user:ftp:rwx /var/ftp/uploads
3、新建一个ftp用户 wy,密码设置为only2018,FTP目录设置为/var/ftp/wy并且可以上传删除文件。 # useradd -d /var/ftp/wy wy # echo only2018 | passwd --stdin wy 创建好FTP用户后,编辑配置文件/etc/vsftpd/vsftpd.conf,启用local_enable=YES、write_enable=YES这两项,默认是启动的; 4、验证匿名用户是否能上传文件,wy用户是否可以上传下载。 出现上图即为我们第二步搭建的没问题 到此,我们此次FTP服务器搭建就结束了;