vsftpd配置文件
一、默认配置
1. 允许匿名用户和本地用户登录
anonymous_enable=YES
local_enable=YES
2. 匿名用户使用的登录名为ftp或anonymous,密码为空;匿名用户不能离开匿名用户家目录/var/ftp,而且只能下载不能上传。
3. 本地用户的登录名为本地用户名,密码为该本地用户的密码;本地用户可以在自己家目录中进行读写操作;本地用户可以离开自己家目录切换至有权限访问的其他目录,并在权限允许的情况下进行上传/下载。
write_enable=YES
4. 写在文件/etc/vsftpd/ftpusers 中的本地用户禁止登陆
二、配置文件格式
vsftpd.conf 的内容非常单纯,每一行就是一项设定。若是空白行或是开头为# (注释)的一行,会被忽略。
内容的格式只有一种,
option=value
等号两边不能加空格
三、匿名用户(anonymous)设置:
anonymous_enable=YES/NO(YES)
控制是否允许匿名用户登录,YES允许,NO不允许,默认为YES
write_enable=YES/NO(YES)
是否允许登陆用户有写权限。属于全局设置,默认YES
no_anon_password=YES/NO(NO)
若是启动这项功能,则使用匿名登录时,不会询问密码。默认为NO。
ftp_username=ftp
定义匿名登录的使用者名称。默认是ftp。
anon_root=/var/ftp
使用匿名登录时,所登入的目录。默认是/var/ftp。注意ftp目录不能是777的权限属性,即匿名用户的家目录不能有777的权限。
anon_upload_enable=YES/NO(NO)
如果设为YES,则允许匿名用户有上传文件(非目录)的权限,只有在write_enable=YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权限。默认值NO。
anon_world_readable_only=YES/NO(YES)
如果设为YES,则允许匿名登陆者下载可阅读的文档(可以下载到本机阅读,不能直接在FTP服务器中打开阅读)。默认为YES。
anon_mkdir_write_enable=YES/NO(NO)
如果设为YES,则允许匿名登陆者有新增目录的权限,只有在write_enable=YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权限。默认为NO。
anon_other_write_enable=YES/NO(NO)
如果设为YES,则允许匿名登陆者有上传或建立目录之外的权限,如删除或重命名。(如果anon_upload_enable=NO,则匿名用户不能上传文件,但可以删除或重命名已经存在的文件;如果anon_mkdir_write_enable=NO,则匿名用户不能上传或新建文件夹,但是可以删除或重命名已存在的文件夹。)默认为NO。
chown_uploads=YES/NO(NO)
设置是否改变匿名用户上传文件(非目录)的属主。默认为NO。
chown_username=username
设置匿名用户上传文件(非目录)的属主名。建议不要设置为root。
anon_umask=077
设置匿名用户登录后新增或上传文件的umask值。默认为077,则新建文件的对应权限为700。
deny_email_enable=YES/NO(NO)
若是启动这项功能,则必须提供一个文件/etc/vsftpd/banner_emails,内容为 email address。若是使用匿名登录,则会要求输入 email address,如果输入的地址在此文件内,则不允许进入。默认值为NO。
banned_email_file=/etc/vsftpd/banner_emails
此文件用来输入邮箱地址,只有在deny_email_enable=YES时,才会用到此文件。若是使用匿名登入,则会要求输入email address,若输入的email address 在此文件内,则不允许进入。
四、本地用户设置
local_enable=YES/NO(YES)
控制本地用户登录,YES允许本地用户登录,NO不允许。默认为YES。
local_root=/home/username
本地用户登录时,将被更换到定义的目录下。默认为各用户的家目录。
write_enable=YES/NO(YES)
是否允许登录用户有写权限。属于全局设置,默认为YES。
local_umask=022
本地用户新增文件时的umask值。
file_open_mode=0755
本地用户上传文件后的文件权限,与chmod所使用的数值相同。默认为0666。
五、欢迎语设置
dirmessage_enable=YES/NO(YES)
如果启动这个选项,那么使用者第一次进入一个目录时,会检查该目录下是否有.message这个档案,如果有,则会出现此档案的内容,通常这个档案会放置欢迎话语,或是对该目录的说明。默认值为开启。
message_file=.message
设置目录消息文件,可将要显示的信息写入该文件。默认值为.message。
banner_file=/etc/vsftpd/banner
当使用者登入时,会显示此设定所在的档案内容,通常为欢迎话语或是说明。默认值为无。如果欢迎信息较多,则使用该配置项。
ftpd_banner=welcome
这里用来定义欢迎话语的字符串,banner_file是档案的形式,而ftpd_banner 则是字符串的形式。预设为无。
六、控制用户是否允许切换到上级目录
在默认配置下,本地用户登入FTP后可以使用cd命令切换到其他目录,这样会对系统带来安全隐患。可以通过以下三条配置文件来控制用户切换目录。
chroot_list_enable=YES/NO(NO)
设置是否启用chroot_list_file配置项指定的用户列表文件。默认为NO。
chroot_list_file=/etc/vsftpd/chroot_list
用于指定用户列表文件,该文件控制哪些用户可以切换到家目录的上级目录。
chroot_local_user=YES/NO(NO)
用于指定用户列表文件中的用户是否允许切换到上级目录,默认为NO。
通过搭配可得到以下几种效果:
1. chroot_list_enable=YES,chroot_local_user=YES。在/etc/vsftpd/chroot_list文件中列出的用户,可以切换到其他目录;没有出现的用户,不能切换到其他目录。
2. chroot_list_enable=YES,chroot_local_user=NO。在/etc/vsftpd/chroot_list文件中列出的用户,不能切换到其他目录;未列出的用户,能切换到其他目录。
3. chroot_list_enable=NO,chroot_local_user=YES。所有用户都不能切换到其他目录。
4. chroot_list_enable=NO,chroot_local_user=NO。所有的用户都可以切换到其他目录。
七、数据传输模式设置
ftp在传输数据时,可以使用二进制方式,也可以使用ASCII模式来上传或下载数据。
ascii_upload_enable=YES/NO(NO)
设置是否启用 ASCII 模式上传数据。默认为NO。
ascii_download_enable=YES/NO(NO)
设置是否启用 ASCII 模式下载数据。默认为NO。
八、访问控制设置
两种控制方式:一种控制主机访问,一种控制用户访问。
1. 控制主机访问
tcp_wrappers=YES/NO(YES)
设置vsftpd是否与 tcp wrappers 相结合进行主机的访问控制。默认为YES。如果启用,则vsftpd服务器会检查 /etc/hosts.allow 和 /etc/hosts.deny 中的设置,来决定请求连接的主机,是否允许访问该FTP服务器。这两个文件可以起到简易的防火墙功能。
例:若要允许192.168.0.1-192.168.0.254的用户可以连接FTP服务器,则在 /etc/hosts.allow文件添加以下内容
- vsftpd:192.168.. :allow
- all:all :deny
2. 控制用户访问
对于用户的访问控制可以通过 /etc/vsftpd 目录下的user_list 和 ftpusers 文件实现。
userlist_file=/etc/vsftpd/user_list
控制用户访问FTP的文件,里面写用户名。一个用户名占一行。
userlist_enable=YES/NO(NO)
是否启用user_list 文件。
userlist_deny=YES/NO(YES)
决定 user_list 文件中的用户是否能够访问FTP服务器。设置为YES,则 user_list 文件内的用户不允许访问FTP。若设置为NO,则只有user_list 文件内的用户才能访问FTP。
/etc/vsftpd/ftpusers 文件专门用来定义不允许访问FTP服务器的用户列表(注:如果userlist_enable=YES,userlist_deny=NO,此时如果在user_list 和 ftpusers 中都有某个用户时,那么这个用户不允许访问FTP,因为ftpusers文件的优先级更高)。默认情况下user_list和ftpusers,这两个文件已经预设置了一些不允许访问FTP服务器的系统内部账户。如果系统没有这两个文件,那么新建这两个文件,将用户添加进去即可。
九、访问速率设置
anon_max_rate=0
设置匿名用户登录使用的最大传输速度,单位为B/s,0表示不限速。默认为0。
local_max_rate=0
设置本地用户登录使用的最大传输速度,单位为B/s,0表示不限速。默认为0。
十、超时时间设置
accept_timeout=60
设置建立FTP连接的超时时间,单位秒。默认为60。
connect_timeout=60
PORT方式下建立数据连接的超时时间,单位为秒。默认为60。
data_connection_timeout=120
设置建立FTP数据连接的超时时间,单位为秒。默认为120。
idle_session_timeout=300
设置多长时间不对FTP服务器进行任何操作,则断开该FTP连接,单位为秒。默认为300。
十一、日志文件设置
xferlog_enable=YES/NO(YES)
是否启用上传/下载日志记录。如果启用,则上传与下载的信息将被完整记录在xferlog_file 所定义的文件中。默认开启。
xferlog_file=/var/log/vsftpd.log
设置日志文件名和路径,默认为/var/log/vsftpd.log
xferlog_std_format=YES/NO(YES)
如果启用,则日志文件的格式将会写成 xferlog 的标准格式,如同 wu-ftpd 一样。默认开启。
log_ftp_protocol=YES/NO(NO)
如果启用此项,所有的FTP请求和响应都会被记录到日志中,默认日志文件在/var/log/vsftpd.log。启用此项时,xferlog_std_format不能被激活。这个选项有利于调试。默认为NO。
十二、定义用户配置文件
在vsftpd中,可以通过定义用户配置文件来实现不同的用户使用不同的配置。
user_config_dir=/etc/vsftpd/userconf
设置用户配置文件所在的目录。当设置了该配置项后,用户登录服务器后,系统就会到 /etc/vsftpd/userconf 目录下,读取与当前用户名相同的文件,并根据文件中的配置命令,对当前用户进行更进一步的配置。
例:定义user_config_dir=/etc/vsftpd/conf,且主机上有使用者test1和test2,那么就在user_config_dir 的目录新增文件名为 test1 和 test2 两个文件。test1登录时,就会读取 user_config_dir 定义目录下的test1 这个文件内的设置。默认没有。利用用户配置文件,可以实现对不同的用户进行访问速度的控制,在个用户配置文件内定义 local_max_rate=XX,即可。
十三、FTP的工作方式与端口设置
FTP的两种工作方式: PORT FTP (主动模式)和 PASV FTP (被动模式)
listen_port=21
设置FTP服务器建立连接所监听的端口,默认为21。
connect_from_port_20=YES/NO
指定FTP使用20端口进行数据传输,默认YES。
ftp_data_port=20
设置在主动模式下,FTP数据连接使用的端口,默认20。
pasv_enable=YES/NO(YES)
若设置为YES,则使用被动模式;设置为NO,使用主动模式。默认为YES,即使用被动工作模式。
pasv_max_port=0
在被动模式下,数据连接可以使用的端口范围的最大端口,0表示任意端口,默认为0。
pasv_min_port=0
在被动模式下,数据连接可以使用的端口范围的最小端口,0表示任意端口,默认为0。
十四、与连接相关的设置
listen=YES/NO(YES)
设置vsftpd服务是否以 standalone 模式运行。以 standalone 模式运行是一种较好的方式,此时listen必须设置为YES,默认就为YES。建议不要更改,很多与服务器运行相关的配置命令,需要在此模式下才有效。若设置为NO,则vsftpd不是以独立的服务运行,要受到xinetd服务的管控,功能上会受到限制。
max_clients=0
设置vsftpd 允许的最大连接数,默认为0,表示不受限制。若设置为100时,则允许同时有100个连接,超出的将被拒绝。只有在 standalone 模式运行才有效。
max_per_ip=0
设置每个ip 允许与FTP 服务器同时建立连接的数目。默认为0,表示不受限制。只有在 standalone 模式运行才有效。
listen_address=IP地址
设置FTP 服务器在指定的IP地址上监听用户的FTP请求。若不设置,则对服务器绑定的所有IP地址进行监听。只有在 standalone 模式运行才有效。
setproctitle_enable=YES/NO(NO)
设置每个与FTP 服务器的连接,是否以不同的进程表现出来。默认为NO,此时使用 ps aux |grep ftp 只会出现一个vsftpd 进程。若设置为YES,则每个连接都会有一个vsftpd的进程。
十五、虚拟用户设置
虚拟用户使用PAM认证方式
pam_service_name=vsftpd
设置PAM使用的名称,默认为 /etc/pam.d/vsftpd。
guest_enable=YES/NO(NO)
启用虚拟用户。默认为NO。
guest_username=ftp
用来映射虚拟用户,默认为ftp
virtual_use_local_privs=YES/NO(NO)
当该参数激活(YES)时,虚拟用户使用与本地用户相同的权限。当此参数关闭(NO)时,虚拟用户使用与匿名用户相同的权限。默认情况下此参数是关闭的(NO)。
十六、其他设置
text_userdb_names=YES/NO(NO)
设置在执行ls –la之类的命令时,是显示UID、GID还是显示出具体的用户名和组名。默认值为NO,即以UID和GID方式显示。若希望显示用户名和组名,则设置为YES。
ls_recurse_enable=YES/NO(NO)
若是启用此功能,则允许登入者使用ls –R(可以查看当前目录下子目录中的文件)这个指令。默认值为NO
hide_ids=YES/NO(NO)
如果启用此功能,所有档案的拥有者与群组都为ftp,也就是使用者登入使用ls -al之类的指令,所看到的档案拥有者跟群组均为ftp。默认值为关闭。
download_enable=YES/NO(YES)
如果设置为NO,所有的文件都不能下载到本地,文件夹不受影响。默认值为YES。
十七、响应代码解释说明
- 新文件指示器上的重启标记
- 服务器准备就绪的时间(分钟数)
- 打开数据连接,开始传输
- 打开连接
- 成功
- 命令没有执行
- 系统状态回复
- 目录状态回复
- 文件状态回复
- 帮助信息回复
- 系统类型回复
- 服务就绪
- 退出网络
- 打开数据连接
- 结束数据连接
- 进入被动模式(IP 地址、ID 端口)
- 登录因特网
- 文件行为完成
- 路径名建立
- 要求密码
- 要求账号
- 文件行为暂停
- 服务关闭
- 无法打开数据连接
- 结束连接
- 文件不可用
- 遇到本地错误
- 磁盘空间不足
- 无效命令
- 错误参数
- 命令没有执行
- 错误指令序列
- 无效命令参数
- 未登录网络
- 存储文件需要账号
- 文件不可用
- 不知道的页类型
- 超过存储分配
- 文件名不允许
vsftpd配置文件的更多相关文章
- linux中vsftpd配置文件详解
vsftpd配置文件采用“#”作为注释符,以“#”开头的行和空白行在解析时将被忽略,其余的行被视为配置命令行,每个配置命令的“=”两边不要留有空格.对于每个配置命令,在配置文件中还列出了相关的配置说明 ...
- vsftpd配置文件解析
对vsftpd配置文件详细解答. 1.默认配置: 1>允许匿名用户和本地用户登陆. anonymous_enable=YES local_enable=YES 2>匿名用户使用的登陆名为f ...
- vsftpd配置文件详解 ---配置解说
vsftpd配置文件详解 1.默认配置: 1>允许匿名用户和本地用户登陆. anonymous_enable=YES local_enable=YES 2>匿名 ...
- vsftpd配置文件详解(转)
vsftpd配置文件详解 1.默认配置: 1>允许匿名用户和本地用户登陆. anonymous_enable=YES local_enable=YES 2> ...
- VsFtpd配置文件详解
1.默认配置:1>允许匿名用户和本地用户登陆. anonymous_enable=YES local_enable=YES2>匿名用户使用的登陆名为ftp或anonymou ...
- vsftpd配置文件说明
(1)常用选项: chroot_local_user=YES #限制所有的用户均不能切换到其他目录 allow_writeable_chroot=YES #允许根目录可写 FTP的工作模式有两种,一种 ...
- Linux vsftpd 配置文件详解
.默认配置: >允许匿名用户和本地用户登陆. anonymous_enable=YES local_enable=YES >匿名用户使用的登陆名为ftp或anonymous,口令为空:匿名 ...
- ubuntu下安装vsftpd及vsftpd配置文件不见的解决办法
利用命令 sudo apt-get install vsftpd //安装 进入etc文件可以找到 vsftpd.conf的配置文件 作为新手难免会弄错配置又不知道怎么办,那么可能会利用 sudo ...
- vsftpd配置文件丢失
deeplinux 卸载vsftpd重装,配置文件/etc/vsftpd.conf不能自动安装,解决办法如下: apt-get remove vsftpd --purge apt-get instal ...
随机推荐
- Qt编写安防视频监控系统18-云台控制
一.前言 云台控制是视频监控系统中必备的一个功能,对球机进行上下左右的移动,还有焦距的控制,其实核心就是控制XYZ三个坐标轴,为了开发这个模块,特意研究了各种云台控制的方法和开源库比如soap,有些厂 ...
- Operation之算数&聚合操作符
toArray 该操作符先把一个序列转成一个数组, 并作为一个单一的事件发送, 然后结束 Observable.of(1,2,3,4) .toArray() .subscribe(onNext: { ...
- netty-websocket-spring-boot-starter不同url端口复用
netty-websocket-spring-boot-starter是一个基于netty的websocket服务端,目前笔者使用的版本依托于Springboot.官方网址https://github ...
- Hadoop源码解读系列目录
Hadoop源码解读系列 1.hadoop源码|common模块-configuration详解2.hadoop源码|core模块-序列化与压缩详解3.hadoop源码|core模块-远程调用与NIO ...
- HTML5 VUE单页应用 SEO 优化之 预渲染(prerender-spa-plugin)
前言:当前 SPA 架构流行的趋势如日中天,前后端分离的业务模式已经成为互联网开发的主流方式,但是 单页面 应用始终存在一个痛点,那就是 SEO, 对于那些需要推广,希望能在百度搜索时排名靠前的网站而 ...
- DL Practice:Cifar 10分类
Step 1:数据加载和处理 一般使用深度学习框架会经过下面几个流程: 模型定义(包括损失函数的选择)——>数据处理和加载——>训练(可能包括训练过程可视化)——>测试 所以自己写代 ...
- IntelliJ IDEA(2018.3.5) 设置编码为utf-8编码
位置一: File->Settings->Editor->File Encodings 位置二: File->Other Settings->Default Sett ...
- javascript异步上传压缩图片并立即显示图片
javascript异步上传压缩图片并立即显示图片<pre><!doctype html><html><head><meta charset=&q ...
- centos7双网卡绑定
# 概念 服务器存在多块网卡时,可以通过bond来实现多块网卡并在一起使用: # 模式 mode 0:load balancing (round-robin) Support:需要Switch支持 & ...
- linux 挂载新的硬盘
linux 挂载新的硬盘 1.查看硬盘情况,物理盘和分区 fdisk -l 2.分区一个盘,sdb是个还没有分区的硬盘 fdisk /dev/sdb 输入 n p 1 w n 表示新建分区 p 表示分 ...