VSFTP介绍安装使用
ftp 是File Transfer Protocol的缩写,文件传输协议,用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。它属于网络传输协议的应用层。
sftp 是SSH File Transfer Protocol的缩写,安全文件传输协议;
vsftp 是一个基于GPL发布的类Unix系统上使用的ftp服务器软件,它的全称是Very Secure FTP从此名称可以看出来,编制者的初衷是代码的安全;
今天来介绍安装VSFTP
1.服务的作用:我们通过FTP可以很方便的把文件传到网站服务器,同时也可以方便的把网站文件从服务器下载到本地电脑。
2.服务的安装yum -y install vsftpd
3.服务启动,停止
启动服务systemctl start vsftpd
停止服务systemctl stop vsftpd
4.配置文件
/etc/vsftpd/vsftpd.conf: vsftpd 的核心配置文件
/etc/vsftpd/ftpusers :用于指定哪些用户不能访问FTP 服务器。 黑名单
/etc/vsftpd/user_list:指定允许使用vsftpd 的用户列表文件。 白名单
VSFP登录方式有三种:1.匿名用户登录2.local本地用户登录3.虚拟用户登录
1.匿名用户登录,更改配置文件
#允许匿名用户访问
anonymous_enable=YES
#允许匿名用户上传文件并可以创建目录
anon_upload_enable=YES
anon_mkdir_write_enable=YES
2.本地用户登录,更改配置文件
①.创建测试用户
useradd zhangsan
echo “123456” |passwd --stdin zhangsan
②.修改配置文件
vim /etc/vsftpd/vsftpd.conf
local_enable=YES
local_umask=077
chroot_local_user=YES
allow_writeable_chroot=YES
write_enable=YES
pam_service_name=vsftpd
vim /etc/vsftpd/user_list //添加用户到白名单
zhangsan
systemctl restart vsftpd
//重启服务
3.虚拟用户登录
①添加虚拟用户口令文件
vi /etc/vsftpd/vuser.txt
changxing #用户名
520Ying #密码
changxing2 #用户名
520Ling #密码
②生成虚拟用户口令认证文件
yum -y install db4-utils
#如果没有安装口令认证命令,需要安装
db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
#把文本文档转为认证的数据库
③编辑vsftpd的PAM认证文件
vi /etc/pam.d/vsftpd
32位:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser
64位:
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
#注释掉其他行,加入此两行即可
#注释掉其他行,可以禁止本地用户登录,因为本地用户登录时验证依然依赖这个文件
④建立本地映射用户并设置宿主目录权限
useradd -d /home/vftproot -s /sbin/nologin vuser
chmod 755 /home/vftproot
vuser用户不需要登录,只是映射用户,用户名必须和下一步配置文件中一致
⑤修改配置文件
vi /etc/vsftpd/vsftpd.conf
guest_enable=YES
guest_username=vuser
pam_service_name=vsftpd
anonymous_enable=NO
#关闭匿名用户登录,更加安全(不影响虚拟用户登录)
anon_upload_enable=YES
#允许虚拟用户上传文件
anon_mkdir_write_enable=YES
#允许虚拟用户允许创建目录
write_enable=YES
allow_writeable_chroot=YES
local_enable=YES
chroot_local_user=YES
#开启用户目录限制(把所有用户都限制在用户主目录中)
user_config_dir=/etc/vsftpd/vconf
#指定保存虚拟用户配置文件的目录
⑥为每个虚拟用户建立自己的配置文件,单独定义权限
手工建立目录
mkdir /etc/vsftpd/vconf
③为每个虚拟用户建立配置文件
vi /etc/vsftpd/vconf/changxing
anon_upload_enable=YES
#允许用户上传文件
anon_mkdir_write_enable=YES
#允许用户允许创建目录
anon_other_write_enable=YES
#允许用户有其他写入权(改名,删除,覆盖)
local_root=/ftp/changxing
#给changxing指定独立的上传目录
④创建用户目录
mkdir /ftp/changxing
chown vuser:vuser /ftp/changxing
systemctl restart vsftpd
//重启服务
---------------------------------扩展结束--------------------------------
配置文件详解
常用的匿名FTP配置项
anonymous_enable=YES
#是否允许匿名用户访问
anon_umask=022
#匿名用户所上传文件的权限掩码
anon_root=/var/ftp
#设置匿名用户的FTP根目录
anon_upload_enable=YES
#是否允许匿名用户上传文件
anon_mkdir_write_enable=YES
#是否允许匿名用户允许创建目录
anon_other_write_enable=YES
#是否允许匿名用户有其他写入权(改名,删除,覆盖)
anon_max_rate=0
#限制最大传输速率(字节/秒)0为无限制
常用的本地用户FTP配置项
local_enable=YES
#是否允许本地系统用户访问
local_umask=022
#本地用户所上传文件的权限掩码
local_root=/var/ftp
#设置本地用户的FTP根目录
chroot_list_enable=YES
#表示是否开启chroot的环境,默认没有开启
chroot_list_file=/etc/vsftpd/chroot_list
#表示写在/etc/vsftpd/chroot_list文件里面的用户是不可以出chroot环境的。默认是可以的。
Chroot_local_user=YES
#表示所有写在/etc/vsftpd/chroot_list文件里面的用户是可以出chroot环境的,和上面的相反。
local_max_rate=0
#限制最大传输速率(字节/秒)0为无限制
常用的全局配置项
listen=YES
#是否以独立运行的方式监听服务
listen_address=192.168.4.1 设置监听FTP服务的IP地址
listen_port=21
#设置监听FTP服务的端口号
write_enable=YES
#是否启用写入权限(上传,删除文件)
download_enable=YES
#是否允许下载文件
dirmessage_enable=YES
#用户切换进入目录时显示.message文件
xferlog_enable=YES
#启用日志文件,记录到/var/log/xferlog
xferlog_std_format=YES
#启用标准的xferlog日志格式,禁用此项将使用vsftpd自己的格式
connect_from_port_20=YES
#允许服务器主动模式(从20端口建立数据连接)
pasv_enable=YES
#允许服务器被动模式
pasv_max_port=24600
#设置被动模式服务器的最大端口号
pasv_min_port=24500
#设置被动模式服务器的最小端口号
pam_service_name=vsftpd
#用户认证的PAM文件位置(/etc/pam.d/vsftpd.vu)
userlist_enable=YES
#是否启用user_list列表文件
userlist_deny=YES
#是否禁用user_list中的用户
max_clients=0
#限制并发客户端连接数
max_per_ip=0
#限制同一IP地址的并发连接数
tcp_wrappers=YES
#是否启用tcp_wrappers主机访问控制
chown_username=root
#表示匿名用户上传的文件的拥有人是root,默认关闭
ascii_upload_enable=YES
#表示是否允许用户可以上传一个二进制文件,默认是不允许的
ascii_download_enable=YES
#这个是代表是否允许用户可以下载一个二进制文件,默认是不允许的
nopriv_user=vsftpd
#设置支撑Vsftpd服务的宿主用户为手动建立的Vsftpd用户
async_abor_enable=YES
#设定支持异步传输功能
ftpd_banner=Welcome to Awei FTP servers
#设定Vsftpd的登陆标语
guest_enable=YES
#设置启用虚拟用户功能
guest_username=ftpuser
#指定虚拟用户的宿主用户
virtual_use_local_privs=YES
#设定虚拟用户的权限符合他们的宿主用户
user_config_dir=/etc/vsftpd/vconf
#设定虚拟用户个人Vsftp的配置文件存放路径