一、配置文件分类:
/etc/vsftpd/vsftpd.conf //主配置文件
/etc/vsftpd.ftpusers //被禁止登录FTP的用户文件
/etc/vsftpd.user_list //自定义登录FTP的用户文件,这个文件能够生效与userlist_enable、userlist_deny(YES是禁止登陆,NO是允许登陆)有关
/etc/vsftpd.chroot_list //被限制不能离开个人目录的用户,要手动建立,与chroot_list_enable,chroot_list_file两个参数有关
二、访问方式
<1>匿名登录
<2>帐号登录
启动FTP服务器:
#service vsftpd start
三、配置vsftp服务器
1.vsftpd.conf各项参数说明:
参数 |
说明 |
listen_address=ip address |
指定侦听 IP |
listen_port=port_value |
指定侦听端口,默认 21 |
anonymous_enable=YES |
是否允许使用匿名帐户 |
local_enable=YES |
是否允许本地用户登录 |
nopriv_user=ftp |
指定 vsftpd 服务的运行帐户,不指定时使用 ftp |
write_enable=YES |
是否允许写入 |
anon_upload_enable=YES |
匿名用户是否可上传文件 |
anon_mkdir_write_enable=YES |
匿名用户是否建立目录 |
dirmessage_enable=YES |
进入每个目录是显示欢迎信息,在每个目录下建立 .message 文件在里面写欢迎信息 |
xferlog_enable=YES |
上传 / 下载文件时记录日志 |
connect_from_port_20=YES |
是否使用 20 端口传输数据 ( 是否使用主动模式 ) |
chown_uploads=YES 、chown_username=whoever |
修改匿名用户上传文件的拥有者 |
xferlog_file=/var/log/vsftpd.log |
日志文件 |
xferlog_std_format=YES |
使用标准文件日志 |
idle_session_timeout=600 |
会话超时,客户端连接到 ftp 但未操作 |
data_connection_timeout=120 |
数据传输超时 |
async_abor_enable=YES |
是否允许客户端使用 sync 等命令 |
ascii_upload_enable=YES 、ascii_download_enable=YES |
是否允许上传 / 下载二进制文件 |
chroot_local_user=YES |
限制所有的本地用户在自家目录 |
chroot_list_enable=YES |
指定不能离开家目录的用户,将用户名一个一行写在/etc/vsftpd/chroot_list 文件里,使用此方法时必须chroot_local_user=NO |
ls_recurse_enable=YES |
是否允许使用 ls -R 等命令 |
listen=YES |
开启 ipv4 监听 |
listen_ipv6=YES |
开启 ipv6 监听 |
pam_service_name=vsftpd |
使用 pam 模块控制, vsftpd 文件在 /etc/pam.d 目录下 |
userlist_enable=YES |
此选项被激活后, vsftpd 将读取 userlist_file 参数所指定的文件中的用户列表。当列表中的用户登录 FTP 服务器时,该用户在提示输入密码之前就被禁止了。即该用户名输入后, vsftpd 查到该用户名在列表中, vsftpd 就直接禁止掉该用户,不会再进行询问密码等后续步聚 |
userlist_deny=YES |
决定禁止还是只允许由 userlist_file 指定文件中的用户登录 FTP服务器。此选项在 userlist_enable 选项启动后才生效。 YES ,默认值,禁止文件中的用户登录,同时也不向这些用户发出输入密码的提示。 NO ,只允许在文件中的用户登录 FTP 服务器 |
tcp_wrappers=YES |
是否允许 tcp_wrappers 管理 |
local_root=/home/ftp |
所有用户的根目录,,对匿名用户无效 |
anon_max_rate |
匿名用户的最大传输速度,单位是 Byts/s |
local_max_rate |
本地用户的最大传输速度,单位是 Byts/s |
download_enable= YES |
2.配置匿名登录
#vi /etc/vsftpd/vsftpd.conf
设置
anonymous_enable=YES
anon_other_write_enable=YES //具有写权限,相应的目录权限也要调整
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_umask=077 //匿名传过来的文件权限是-rw- ------
anon_max_rate=5000 //限制上传速度为5k/s
假如匿名登录的默认目录是/var/ftp/pub
#chmod 777 /var/ftp/pub
备注:匿名可以上传下载,但不能删除
3.本地帐号登录
#vi /etc/vsftpd/vsftpd.conf
<1>禁用匿名登入
设置nonymous_enable=NO
anon_other_write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
<2>开放那些用户可以登入和那些用户拒绝登入
设置/etc/vsftpd.user_list文件中的用户可登录FTP
userlist_deny=NO(如果是#userlist_deny=NO 注释掉,则默认全部用户可以登入FTP)
userlist_file=/etc/csftpd.user_list
将允许登陆的用户添加的这个文件当中。
禁止用户登陆到ftp,将用户名添加到/etc/vsftpd.ftpusers中。
<3>将登录后的用户限制在本地家目录下:
#vi /etc/vsftpd/vsftpd.conf
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list //被限制不能离开个人主目录的用户