Centos|Rhel搭建vsftp
vsftp,在ftp传输中相对安全的
01、安装vsftpd
yum install -y vsftpd
版本信息:
Installed Packages
Name : vsftpd
Arch : x86_64
Version : 2.2.2
Release : 11.el6_4.1
Size : 331 k
Repo : installed
Summary : Very Secure Ftp Daemon
URL : http://vsftpd.beasts.org/
License : GPLv2 with exceptions
Description : vsftpd is a Very Secure FTP daemon. It was written completely from
scratch.
service vsftpd start
匿名的家目录 /var/ftp/pub
默认匿名登录(anonymous)
02、主配置文件
/etc/vsftpd/vsftpd.conf 主配置文件
/etc/vsftpd/ftpusers 指定用户不能访问FTP服务器 依据/etc/pam.d/vsftpd判断
/etc/vsftpd/user_list 文件中指定的用户是否可以访问ftp服务器vsftpd.conf文件中的userlist_deny的取值来决定。
03、简述主配置文件参数
anonymous_enable=YES/no 是否允许匿名用户登录
anonymous_enable=yes/no 是否允许匿名上传文件
local_enable= YES/no 是否允许本地用户登录
write_enable= YES/no 是否允许本地用户上传
guest_enable=yes/no 是否允许虚拟用户登录;
local_mask=022 设置本地用户的文件生成掩码为022,默认值为077
dirmessage_enable= YES 设置切换到目录时显示.message隐含文件的内容
xferlog_enable= YES 激活上传和下载日志
connect_from_port_20=YES 启用FTP数据端口连接
pam_service_name=vsftpd 设置PAM认证服务的配置文件名称, 该文件存放在/etc/pam.d目录下
userlist_enable= YES 允许vsftpd.user_list文件中的用户访问服务器
userlist_deny= YES 拒绝vsftpd.user_list文件中的用户访问服务器
listen= YES/no 是否使用独占启动方式(这一项比较重要)
tcp_wrappers= YES/no 是否使用tcp_wrappers作为主机访问控制方式
ftpd_banner=welcome to ftp service 设置连接服务器后的欢迎信息
idle_session_timeout=60 限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断(秒)
data_connection_timeout=120 设置客户机在进行数据传输时,设置空闲的数据中断时间
accept_timeout=60 设置在多长时间后自动建立连接
connect_timeout=60 设置数据连接的最大激活时间,多长时间断开,为别人所使用;
max_clients=200 指明服务器总的客户并发连接数为200
max_per_ip=3 指明每个客户机的最大连接数为3
local_max_rate=50000(50kbytes/sec)
anon_max_rate=30000 设置本地用户和匿名用户的最大传输速率限制
pasv_min_port=端口
pasv-max-prot=端口号 定义最大与最小端口,为0表示任意端口;为客户端连接指明端口;
listen_address=IP地址 设置ftp服务来监听的地址,客户端可以用哪个地址来连接;
listen_port=端口号 设置FTP工作的端口号,默认的为21
chroot_local_user=YES 设置所有的本地用户可以chroot
chroot_local_user=NO 设置指定用户能够chroot
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list(只有/etc/vsftpd.chroot_list中的指定的用户才能执行 )
local_root=path 无论哪个用户都能登录的用户,定义登录帐号的主目录, 若没有指定,则每一个用户则进入到个人用户主目录;
chroot_local_user=yes/no 是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user,不能利用cd命令向上转;只能向下;
chroot_list_enable=yes/no 锁定指定文件中用户的主目录(部分),文件:/chroot_list_file=path 中指定;
userlist_enable=YES/NO 是否加载用户列表文件;
userlist_deny=YES 表示上面所加载的用户是否允许拒绝登录;
userlist_file=/etc/vsftpd.user_list 列表文件
更多参数详情查看example
04、vsftp的登录方式
匿名帐号、本地帐号、虚拟帐号。默认配置就可以实现匿名帐号和真实帐号登录
工作中一般用到匿名用户和本地账户最多
设置虚拟用户:http://pengbotao.cn/linux-vsftp-virtual-setting.html
vsftpd相关文件
vsftpd文件 | 文件说明 |
---|---|
/etc/vsftpd/vsftpd.conf | 主配置文件 |
/usr/sbin/vsftpd | Vsftpd的主程序。 |
/etc/pam.d/vsftpd | PAM认证文件(此文件中file=/etc/vsftpd/ftpusers字段,指明阻止访问的用户来自/etc/vsftpd/ftpusers文件中的用户) |
/etc/vsftpd/ftpusers | 禁止使用vsftpd的用户列表文件。记录不允许访问FTP服务器的用户名单,管理员可以把一些对系统安全有威胁的用户账号记录在此文件中,以免用户从FTP登录后获得大于上传下载操作的权利,而对系统造成损坏。 |
/etc/vsftpd/user_list | 禁止或允许使用vsftpd的用户列表文件。这个文件中指定的用户缺省情况(即在/etc/vsftpd/vsftpd.conf中设置userlist_deny=YES)下也不能访问FTP服务器,在设置了userlist_deny=NO时,仅允许user_list中指定的用户访问FTP服务器。 |
/var/ftp | vsftpd的匿名用户登录根目录。 |
vsftp配置参数意义
参数配置 | 默认值 | 说明 |
---|---|---|
anonymous_enable=YES | YES | 是否用于匿名用户(ftp或anonymous)登录FTP,登录后进入/var/ftp |
local_enable=YES | NO | 是否允许本地用户登录FTP服务器,登录后进入用户主目录 |
write_enable=YES | NO | 是否允许写入 |
local_umask=022 | 077 | 默认的umask码 |
anon_upload_enable=YES | NO | 是否允许匿名用户上传文件。如果此项要生效,则配置write_enable必须激活。并且匿名用户所在相关目录有写权限。 |
anon_mkdir_write_enable=YES | NO | 是否允许匿名用户创建新目录。如果此项要生效,则配置write_enable必须激活。并且匿名用户所在相关目录有写权限。 |
dirmessage_enable=YES | NO | 是否激活目录欢迎信息功能。.message文件可以通过更改message_file来调整。 |
xferlog_enable=YES | NO | 是否启动记录上传和下载日志。 |
connect_from_port_20=YES | 20 | 设定PORT模式下的连接端口(只要connect_from_port_20被激活)。 |
chown_uploads=YES | NO | 设定是否允许改变上传文件的属主,与下面一个设定项配合使用 |
chown_username=whoever | ROOT | 置想要改变的上传文件的属主,如果需要,则输入一个系统用户名,例如可以把上传的文件都改成root属主。whoever:任何人 |
xferlog_file=/var/log/xferlog | /var/log/xferlog | 设置日志文件的文件名和存储路径 |
xferlog_std_format=YES | NO | 是否使用标准的ftpd xferlog日志文件格式 |
idle_session_timeout=600 | 300 | 设置空闲的用户会话中断时间,默认是10分钟 |
data_connection_timeout=120 | 300 | 设置数据连接超时时间,默认是120秒 |
nopriv_user=ftpsecure | nobody | 运行vsftpd需要的非特权系统用户 |
async_abor_enable=YES | NO | 是否允许运行特殊的ftp命令async ABOR。 |
ascii_upload_enable=YES
ascii_download_enable=YES |
NO | 是否使用ascii码方式上传和下载文件。 |
deny_email_enable=YES
banned_email_file=/etc/vsftpd/banned_emails |
NO | 禁止匿名用户通过banned_email_file定义的邮件地址做密码 |
chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list |
NO | 设置为NO时,用户登录FTP后具有访问自己目录以外的其他文件的权限;设置为YES时,chroot_list_file中的用户列表被锁定在自己的home目录下。此时chroot_local_user=NO,如果chroot_local_user=YES则chroot_list_file中的用户将不被锁定在home目录下。 |
ls_recurse_enable=YES | NO | 是否允许递归查询 |
listen=YES | NO | vsftpd 处于独立启动模式 |
listen_ipv6=YES | NO | 是否支持IPV6 |
pam_service_name=vsftpd | ftp | 设定vsftpd将要用到的PAM服务的名字。 |
userlist_enable=YES | NO | 设置为YES,vsftpd将读取userlist_file参数所指定的文件中的用户列表。当列表中的用户登录FTP服务器时,该用户在提示输入密码之前就被禁止了。即该用户名输入后,vsftpd查到该用户名在列表中,vsftpd就直接禁止掉该用户,不会再进行询问密码等后续步聚 |
userlist_deny=YES | YES | 决定禁止还是只允许由userlist_file指定文件中的用户登录FTP服务器。此选项在userlist_enable 选项启动后才生效。YES,默认值,禁止文件中的用户登录,同时也不向这些用户发出输入密码的提示。NO,只允许在文件中的用户登录FTP服务器 |
userlist_file | /etc/vsftpd/user_list | 当userlist_enable被激活,系统将去这里调用文件。 |
tcp_wrappers=YES | NO | 是否允许tcp_wrappers管理 |
listen_port | 21 | 如果vsftpd处于独立运行模式,这个端口设置将监听的FTP连接请求。 |
max_clients | 0 | FTP的最大连接数,0为无限制。 |
max_per_ip | 0 | 单个IP的最大连接数。 |
anon_max_rate | 0 | 匿名用户允许的最大传输速度,单位:字节/秒 |
local_max_rate | 0 | 本地认证用户允许的最大传输速度,单位:字节/秒。/td> |
附上本地用户的配置,
useradd -s /sbin/nologin ftp-mvp
passwd ftp-mvp
vi /etc/vsftpd/chroot_list
ftp-mvp
#禁止匿名,允许本地用户登录
anonymous_enable=NO
local_enable=YES #本地用户开启
write_enable=YES
local_umask=
#日志相关设置
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
#设置监听与会话时长
connect_from_port_20=YES
idle_session_timeout=
data_connection_timeout=
#上传
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome
#设置普通用户主目录,chroot_list用户家目录
local_root=/data/ftp
chroot_local_user=YES
chroot_list_enable=No #不允许列表处锁定目录外!
chroot_list_file=/etc/vsftpd/chroot_list #本地用户列表
#名字连接数
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
max_clients=
Vsftpd官方参数详解:http://vsftpd.beasts.org/vsftpd_conf.html
引用:
http://wiki.ubuntu.com.cn/Vsftpd #ubuntu官方介绍值得看看
http://jinjianjun.blog.51cto.com/8539251/1396758
http://www.jb51.net/LINUXjishu/81906.html
Centos|Rhel搭建vsftp的更多相关文章
- 基于腾讯云centos简单搭建VSFTP
基于腾讯云centos7.3搭建VSFTP 环境分析: 基于vsftp服务在于云主机上,所以推荐使用FTP的PASV模式: FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动 ...
- centos 7 搭建vsftp
一.FTP简介 1.ftp 概述 FTP:(file transfer protocol文件传输协议) ...
- CentOS 7搭建vsftp(虚拟用户方式登录)
说明: vsftpd的版本:vsftpd-3.0.2-22.el7.x86_64 ftp 根目录 : /data/ftp ftp 配置文件目录:/etc/vsftpd ftp 虚拟用户权限配置文件目录 ...
- centos 7.2下搭建vsftp 虚拟用户
虚拟用户搭建vsftp 要求一: 只允许上传 下载 不能删除 不能更换名称 yum install pam* yum install db4* -y yum install vsftpd chkcon ...
- CentOS 7搭建LAMP环境(二)
前面已经讲过了CentOS 7下LAMP环境的配置过程,一台简单的WEB服务器已搭建完成,但后期在网站部署的过程中也许会碰到各种各样头疼的问题.下面我们来讲讲怎么解决这些问题,以及如何高效地管理服务器 ...
- 快速搭建vsftp 服务器并配置指定目录
1 搭建vsftp 服务器 前期准备: 1.用root 进入系统 2.使用命令 rpm -qa|grep vsftpd 查看系统是否安装了ftp,若安装了vsftp,使用这个命令会在屏幕上显示vs ...
- 如何在CentOS/RHEL & Fedora上安装MongoDB 3.2
MongoDB(名称取自"huMONGOus")是一个有着全面灵活的索引支持和丰富的查询的数据库.MongoDB通过GridFS提供强大的媒体存储.点击这里获取MongoDB的更多 ...
- CentOS下搭建LAMP环境详解
前言:在这里将介绍如何在CentOS下搭建LAMP环境(全部使用源码编译安装),用于web服务器开发. •LAMP: Linux + Apache + PHP + Mysql. •系统: CentOS ...
- PHP 5.4 on CentOS/RHEL 6.4 and 5.9 via Yum
PHP 5.4 on CentOS/RHEL 6.4 and 5.9 via Yum PHP 5.4.16 has been released on PHP.net on 6th June 2013, ...
随机推荐
- sed grep find命令
一.sed [-nerf][n1,n2] action -n 安静模式,只有经过sed处理过的行才显示出来,其他不显示. -r 表示sed支持扩展的正则表达式 -e 表示直接在命令行模式上进行sed操 ...
- stm32 中断几个库函数实现过程分析
感谢原文作者:鱼竿的传说,这篇文章写得不错,转载自 http://www.cnblogs.com/chineseboy/archive/2013/03/14/2956782.html 前题: 闭门造车 ...
- 记录遇到的Python陷阱和注意点
最近使用Python的过程中遇到了一些坑,例如用datetime.datetime.now()这个可变对象作为函数的默认参数,模块循环依赖等等. 在此记录一下,方便以后查询和补充. 避免可变对象作为默 ...
- HDU4003Find Metal Mineral[树形DP 分组背包]
Find Metal Mineral Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Other ...
- jQuery UI常用插件使用
一.什么是插件 ①是遵循一定接口规范编写的程序 ②是原有系统平台功能的扩展和补充 ③只能运行在规定的系统平台下,而不能单独运行 注:由于jQuery插件是基于jQuery脚本库的扩展,所以所有jQue ...
- Concurrency::task(C++)
先看一个例子 #include <ppltasks.h> #include <iostream> using namespace Concurrency; using name ...
- Unity 实现物体破碎效果(转)
感谢网友分享,原文地址(How to Make an Object Shatter Into Smaller Fragments in Unity),中文翻译地址(Unity实现物体破碎效果) In ...
- [No000055]教你早晨清肠、除口臭、色斑、大肚腩
[长生不老的秘诀] 释.道.医三家有个共同的秘诀:"要叫人不死. 肠中须无屎". 佛家除要求人们戒杀吃素外,还认为早饭是天食,中饭是人食,晚饭是鬼食. 因此,为了身体健康,不妨碍修 ...
- 利用MySQL存储过程分割字符串
(转)http://tec.5lulu.com/detail/104krn1e6p2w78d77.html 现有一段字符串,如apple,banana,orange,pears,grape,要把它按照 ...
- 为什么xcode7请求不成功
1.现在有的工程因为升级xcode7不能进行请求数据,新特性要求App内访问的网络必须使用HTTPS协议.但是现在公司的项目使用的是HTTP协议,使用私有加密方式保证数据安全.现在也不能马上改成HTT ...