当前位置: > Linux服务器 > ftp >

CentOS Vsftpd配置文件服务调整

时间:2014-11-27 12:38来源:linux.it.net.cn 作者:IT

CentOS Vsftpd配置经过长时间的发展,这里我发表一下个人理解,下面就这就来讲术CentOS Vsftpd配置。调整CentOS Vsftpd配置文件:

1.编辑CentOS Vsftpd配置文件前先备份
[root@KcentOS5 ~]cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.backup
2.编辑主CentOS Vsftpd配置文件Vsftpd.conf
[root@KcentOS5 ~]vi /etc/vsftpd/vsftpd.conf
这里我将原CentOS Vsftpd配置文件的修改完全记录,凡是修改的地方我都会保留注释原来的配置。其中加入我对每条配置项的认识,对于一些比较关键的配置项这里我做了我的观点,并且原本英语的说明我也不删除,供参考对比用。

Example config file /etc/vsftpd/vsftpd.conf
The default compiled in settings are fairly paranoid. This sample file
loosens things up a bit, to make the ftp daemon more usable.
Please see vsftpd.conf.5 for all compiled in defaults.
READ THIS: This example file is NOT an exhaustive list of vsftpd options.
Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
capabilities.

Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=YES
anonymous_enable=NO
设定不允许匿名访问

Uncomment this to allow local users to log in.
local_enable=YES设定本地用户可以访问。注意:主要是为虚拟宿主用户,如果该项目设定为NO那么所有虚拟用户将无法访问。
Uncomment this to enable any form of FTP write command.
write_enable=YES
设定可以进行写操作。

Default umask for local users is 077. You may wish to change this to 022,
if your users expect that (022 is used by most other ftpd's)
local_umask=022
设定上传后文件的权限掩码。

Uncomment this to allow the anonymous FTP user to upload files. This only
has an effect if the above global write enable is activated. Also, you will
obviously need to create a directory writable by the FTP user.
anon_upload_enable=YES
anon_upload_enable=NO
禁止匿名用户上传。

Uncomment this if you want the anonymous FTP user to be able to create
new directories.
anon_mkdir_write_enable=YES
anon_mkdir_write_enable=NO
禁止匿名用户建立目录。

Activate directory messages - messages given to remote users when they
go into a certain directory.
dirmessage_enable=YES
设定开启目录标语功能。

Activate logging of uploads/downloads.
xferlog_enable=YES
设定开启日志记录功能。

Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES
设定端口20进行数据连接。

If you want, you can arrange for uploaded anonymous files to be owned by
a different user. Note! Using "root" for uploaded files is not
recommended!
chown_uploads=YES
chown_uploads=NO
设定禁止上传文件更改宿主。

chown_username=whoever
You may override where the log file goes if you like. The default is shown
below.
xferlog_file=/var/log/vsftpd.log
设定CentOS Vsftpd配置的服务日志保存路径。注意,该文件默认不存在。必须要手动touch出来,并且由于这里更改了CentOS Vsftpd配置的服务宿主用户为手动建立的Vsftpd。必须注意给与该用户对日志的写入权限,否则服务将启动失败。

If you want, you can have your log file in standard ftpd xferlog format
xferlog_std_format=YES
设定日志使用标准的记录格式。

You may change the default value for timing out an idle session.
idle_session_timeout=600
设定空闲连接超时时间,这里使用默认。将具体数值留给每个具体用户具体指定,当然如果不指定的话,还是使用这里的默认值600,单位秒。

You may change the default value for timing out a data connection.
data_connection_timeout=120
设定单次最大连续传输时间,这里使用默认。将具体数值留给每个具体用户具体指定,当然如果不指定的话,还是使用这里的默认值120,单位秒。

It is recommended that you define on your system a unique user which the
ftp server can use as a totally isolated and unprivileged user.
nopriv_user=ftpsecure
nopriv_user=vsftpd
设定支撑CentOS Vsftpd服务的宿主用户为手动建立的Vsftpd用户。注意,一旦做出更改宿主用户后,必须注意一起与该服务相关的读写文件的读写赋权问题。比如日志文件就必须给与该用户写入权限等。

Enable this and the server will recognise asynchronous ABOR requests. Not
recommended for security (the code is non-trivial). Not enabling it,
however, may confuse older FTP clients.
async_abor_enable=YES
设定支持异步传输功能。

By default the server will pretend to allow ASCII mode but in fact ignore
the request. Turn on the below options to have the server actually do ASCII
mangling on files when in ASCII mode.
Beware that on some FTP servers, ASCII support allows a denial of service
attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd
predicted this attack and has always been safe, reporting the size of the
raw file.
ASCII mangling is a horrible feature of the protocol.
ascii_upload_enable=YES
ascii_download_enable=YES
设定支持ASCII模式的上传和下载功能。

You may fully customise the login banner string:
ftpd_banner=This Vsftp server supports virtual users ^_^
设定CentOS Vsftpd配置的登陆标语。

You may specify a file of disallowed anonymous e-mail addresses. Apparently
useful for combatting certain DoS attacks.
deny_email_enable=YES
(default follows)
banned_email_file=/etc/vsftpd/banned_emails

You may specify an explicit list of local users to chroot() to their home
directory. If chroot_local_user is YES, then this list becomes a list of
users to NOT chroot().
chroot_list_enable=YES
chroot_list_enable=NO
禁止用户登出自己的FTP主目录。
(default follows)
chroot_list_file=/etc/vsftpd/chroot_list

You may activate the "-R" option to the builtin ls. This is disabled by
default to avoid remote users being able to cause excessive I/O on large
sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
the presence of the "-R" option, so there is a strong case for enabling it.
ls_recurse_enable=YES
ls_recurse_enable=NO
禁止用户登陆FTP后使用"ls -R"的命令。该命令会对服务器性能造成巨大开销。如果该项被允许,那么挡多用户同时使用该命令时将会对该服
务器造成威胁。
When "listen" directive is enabled, vsftpd runs in standalone mode and
listens on IPv4 sockets. This directive cannot be used in conjunction
with the listen_ipv6 directive.
listen=YES
设定该CentOS Vsftpd服务工作在StandAlone模式下。顺便展开说明一下,所谓StandAlone模式就是该服务拥有自己的守护进程支持,在ps -A命令下我们将可用看到vsftpd的守护进程名。如果不想工作在StandAlone模式下,则可以选择SuperDaemon模式,在该模式下 vsftpd将没有自己的守护进程,而是由超级守护进程Xinetd全权代理,与此同时,Vsftp服务的许多功能将得不到实现。

This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6
sockets, you must run two copies of vsftpd whith two configuration files.
Make sure, that one of the listen options is commented !!
listen_ipv6=YES
pam_service_name=vsftpd
设定PAM服务下CentOS Vsftpd配置验证文件名。因此,PAM验证将参考/etc/pam.d/下的vsftpd文件配置。
userlist_enable=YES
设定userlist_file中的用户将不得使用FTP。
tcp_wrappers=YES
设定支持TCP Wrappers。
KC: The following entries are added for supporting virtual ftp users.
以下这些是关于Vsftpd虚拟用户支持的重要CentOS Vsftpd配置项目。默认Vsftpd.conf中不包含这些设定项目,需要自己手动添加配置。
guest_enable=YES
设定启用虚拟用户功能。
guest_username=overlord
指定虚拟用户的宿主用户。
virtual_use_local_privs=YES
设定虚拟用户的权限符合他们的宿主用户。
user_config_dir=/etc/vsftpd/vconf
设定虚拟用户个人Vsftp的配置文件存放路径。也就是说,这个被指定的目录里,将存放每个Vsftp虚拟用户个性的配置文件,一个需要注意的
地方就是这些配置文件名必须和虚拟用户名相同。保存退出。

3.建立CentOS Vsftpd配置的日志文件,并更该属主为Vsftpd的服务宿主用户:

[root@KcentOS5 ~]touch /var/log/vsftpd.log
[root@KcentOS5 ~]chown vsftpd.vsftpd /var/log/vsftpd.log 
4.建立虚拟用户CentOS Vsftpd配置文件存放路径:
[root@KcentOS5 ~]mkdir /etc/vsftpd/vconf/


(责任编辑:IT)
------分隔线----------------------------