配置vsftpd
更新时间:2026-06-04
vsftpd配置文件介绍
用户可以通过修改vsftpd的配置文件,控制用户权限等。vsftpd的主要配置文件和含义如下表所示,用户可以根据需求修改配置文件的内容。更多的配置参数含义可以通过man查看。
vsftpd配置文件介绍表:
| 配置文件 | 含义 |
|---|---|
| /etc/vsftpd/vsftpd.conf | vsftpd进程的主配置文件,配置内容格式为“参数=参数值”,且参数和参数值不能为空。 vsftpd.conf的详细介绍可以使用如下命令查看: man 5 vsftpd.conf |
| /etc/pam.d/vsftpd | PAM(Pluggable Authentication Modules)认证文件,主要用于身份认证和限制一些用户的操作。 |
| /etc/vsftpd/ftpusers | 禁用使用vsftpd的用户列表文件。默认情况下,系统帐号也在该文件中,因此系统帐号默认无法使用vsftpd。 |
| /etc/vsftpd/user_list | 禁止或允许登录vsftpd服务器的用户列表文件。该文件是否生效,取决于主配置文件vsftpd.conf中的如下参数: 例如userlist_enable=YES,userlist_deny=YES,则user_list中的用户都无法登录。 |
| /etc/vsftpd/chroot_list | 是否限制在主目录下的用户列表。该文件默认不存在,需要手动建立。它是主配置文件vsftpd.conf中参数chroot_list_file的参数值。 其作用是限制还是允许,取决于主配置文件vsftpd.conf中的如下参数: 例如chroot_local_user=YES,chroot_list_enable=YES,且指定chroot_list_file=/etc/vsftpd/chroot_list时,表示所有用户被限制在其主目录下,而chroot_list中的用户不受限制。 |
| /usr/sbin/vsftpd | vsftpd的唯一执行文件。 |
| /var/ftp/ | 匿名用户登录的默认根目录,与ftp帐户的用户主目录有关。 |
默认配置说明
说明:
文档中的配置内容仅供参考,请用户根据实际情况进行修改。
百度linux服务器操作系统系统中,vsftpd默认不开放匿名用户,使用vim命令查看主配置文件,其内容如下:
Plain Text
1# vim /etc/vsftpd/vsftpd.conf
2anonymous_enable=NO
3local_enable=YES
4write_enable=YES
5local_umask=022
6dirmessage_enable=YES
7xferlog_enable=YES
8connect_from_port_20=YES
9xferlog_std_format=YES
10listen=NO
11listen_ipv6=YES
12pam_service_name=vsftpd
13userlist_enable=YES
其中各参数含义下表所示。
参数说明
| 参数 | 含义 |
|---|---|
| anonymous_enable | 是否允许匿名用户登录,YES为允许匿名登录,NO为不允许。 |
| local_enable | 是否允许本地用户登入,YES为允许本地用户登入,NO为不允许。 |
| write_enable | 是否允许登录用户有写权限,YES为启用上传写入功能,NO为禁用。 |
| local_umask | 本地用户新增档案时的umask值。 |
| dirmessage_enable | 当用户进入某个目录时,是否显示该目录需要注意的内容,YES为显示注意内容,NO为不显示。 |
| xferlog_enable | 是否记录使用者上传与下载文件的操作,YES为记录操作,NO为不记录。 |
| connect_from_port_20 | Port模式进行数据传输是否使用端口20,YES为使用端口20,NO为不使用端口20。 |
| xferlog_std_format | 传输日志文件是否以标准xferlog格式书写,YES为使用该格式书写,NO为不使用。 |
| listen | 设置vsftpd是否以stand alone的方式启动,YES为使用stand alone方式启动,NO为不使用该方式。 |
| pam_service_name | 支持PAM模块的管理,配置值为服务名称,例如vsftpd。 |
| userlist_enable | 是否支持/etc/vsftpd/user_list文件内的账号登录控制,YES为支持,NO为不支持。 |
| tcp_wrappers | 是否支持TCP Wrappers的防火墙机制,YES为支持,NO为不支持。 |
| listen_ipv6 | 是否侦听IPv6的FTP请求,YES为侦听,NO为不侦听。listen和listen_ipv6不能同时开启。 |
配置本地时间
概述
百度linux服务器操作系统系统中,vsftpd默认使用GMT时间(格林尼治时间),可能和本地时间不一致,例如GMT时间比北京时间晚8小时,请用户改为本地时间,否则服务器和客户端时间不一致,在上传下载文件时可能引起错误。
设置方法
在root权限下设置vsftpd时间为本地时间的操作步骤如下:
- 打开配置文件vsftpd.conf,将参数use_localtime的参数值改为YES。命令如下:
Plain Text
1# vim /etc/vsftpd/vsftpd.conf
配置内容如下:
Plain Text
1use_localtime=YES
- 重启vsftpd服务。
Plain Text
1# systemctl restart vsftpd
- 设置vsftpd服务开机启动。
Plain Text
1# systemctl enable vsftpd
配置欢迎信息
正常使用vsftpd服务,需要存在欢迎信息文件。在root权限下设置vsftp的欢迎信息welcome.txt文件的操作步骤如下:
- 打开配置文件vsftpd.conf,加入欢迎信息文件配置内容后保存退出。
Plain Text
1# vim /etc/vsftpd/vsftpd.conf
需要加入的配置行如下:
Plain Text
1banner_file=/etc/vsftpd/welcome.txt
- 建立欢迎信息。即打开welcome.txt文件,写入欢迎信息后保存退出。
Plain Text
1# vim /etc/vsftpd/welcome.txt
欢迎信息举例如下:
Plain Text
1Welcome to this FTP server!
配置系统帐号登录权限
一般情况下,用户需要限制部分帐号的登录权限。用户可根据需要进行配置。
限制系统帐号登录的文件有两个,默认如下:
- /etc/vsftpd/ftpusers:受/etc/pam.d/vsftpd文件的设置影响,由PAM模块掌管。
- /etc/vsftpd/user_list:由vsftpd.conf的userlist_file设置,由vsftpd主动提供。
两个文件必须同时存在且内容相同,请参考/etc/passwd文件,将UID小于500的帐号写入这两个文件,每一行代表一个帐号。
如果用户需要限制系统帐号登录,需要在root权限下将对应帐号添加到/etc/vsftpd/ftpusers和/etc/vsftpd/user_list。
打开user_list可以查看当前文件中包含的帐号信息,命令和回显如下:
Plain Text
1# vim /etc/vsftpd/user_list
2root
3bin
4daemon
5adm
6lp
7sync
8shutdown
9halt
10mail
11news
12uucp
13operator
14games
15nobody
评价此篇文章
