centos下vsftp详解
centos下vsftp的安装与配置
FTP服务器,简单地说,支持FTP协议的服务器就是FTP服务器
与大多数 nternet服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。
1.开始安装
#yum安装
yum install vsftpd
#服务启动
systemctl start vsftpd
#开机自启
systemctl enable vsftpd
2.支持的功能与配置选项
2.1 基本配置
#vsftp配置文件默认存放在/etc/vsftpd/下,主配置文件为/etc/vsftpd/vsftpd.conf cd /etc/vsftpd/ ls /etc/vsftpd/ vim /etc/vsftpd/vsftpd.conf
#允许本地用户访问
local_enable=YES
#允许用户上传数据
write_enable=YES
#设置文件umask值
local_umask=022
#启用日志
xferlog_enable=YES
#指定日志文件
xferlog_file=/var/log/vsftpd.log
#使用xferlog的日志格式
xferlog_std_format=YES
#主动连接模式ftp数据传输使用的端口
connect_from_port_20=YES
#启动stand alone模式
listen=YES
#设置pam模块为vsftpd启动配置文件/etc/pam.d/vsftpd
pam_service_name=vsftpd
#启动vsftp阻挡机制阻挡不欢迎的账号
userlist_enable=YES
#支持 TCP Wrappers 的防火墙机制
tcp_wrappers=YES
#关闭NDS逆向解析
reverse_looup_enable=NO
#设置用户单独配置文件夹,一个账号一个配置文件,配置文件以用户名命名 user_config_dir=/etc/vsftpd/user_dir_vsftpd
#允许用户将别的目录设置为自己的根目录
allow_writeable_chroot=YES
#开启pasv模式
pasv_enable=YES
#设置pasv模式开启端口的上下限,为零时无限制,默认为0
pasv_max_port=7000
pasv_min_port=6000
#被动模式下,等待client 10s没有回应,则断开连接
accept_timeout=10
2.2 匿名用户
匿名FTP 即匿名文件传输协议。使用FTP时必须首先登录,在远程主机上获得相应的权限以后,方可上传或下载文件。也就是说,要想同哪一台计算机传送文件,就必须具有哪一台计算机的适当授权。匿名FTP就是为解决这个问题而产生的。匿名文件传输能够使用户与远程主机建立连接并以匿名的身份从远程主机上拷贝文件,而不必是该远程主机的注册用户。
#开启匿名用户(默认开启)
anonymous_enable=YES
#设置匿名用户的访问目录
anon_root=
#允许匿名用户上传文件(默认开启)
anon_upload_enable=YES
#允许匿名用户创建目录(默认开启)
anon_mkdir_enable=YES
2.3 虚拟用户
虚拟用户功能将所有访问用户映射到创建的虚拟用户上,而不直接使用系统本地用户访问,可提高系统安全性
#任何用户均被视为Guest用户 guest_enable=YES #指定访客身份,若指定为ftp,则获取匿名用户身份 guest_username=vsftpd #虚拟用户和本地用户拥有相同权限,设为NO则虚拟用户获取匿名用户权限 virtual_use_local_privs=YES
创建宿主用户
# 创建用户 ftpuser 指定 /home/vsftpd 目录 useradd -g root -M -d /home/vsftpd -s /sbin/nologin ftpuser # 设置用户 ftpuser 的密码 passwd ftpuser # 把 /home/vsftpd 的所有权给ftpuser.root chown -R ftpuser.root /home/vsftpd
建立虚拟用户文件
touch /etc/vsftpd/vuser_passwd # 编辑虚拟用户名单文件 # 第一行账号,第二行密码,注意:不能使用root做用户名,改用户名为系统保留 vim /etc/vsftpd/vuser_passwd
cat /etc/vaftpd/vuser_passwd ftp1 12345678 ftp2 12345678
生成虚拟用户数据文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd /etc/vsftpd/vuser_passwd.db chmod 600 /etc/vsftpd/vuser_passwd.db

浙公网安备 33010602011771号