vsftp的配置参数总共也就10来行,但是想要使用好它,绝没有单单理解这10来行这么简单,需要对每一行所定义的参数都理解透彻才可以.
网上很多文章都是错误的,我把自己亲自配置的一些过长发布出来以供大家分享.
-------------------------------------------匿名用户的配置-----------------------------------------------
anonymous_enable=YES //允许匿名用户登录
anon_root=/var/ftp/anonymous //设定匿名用户登录后的根目录
anon_upload_enable=YES //允许匿名用户上传文件
只需要打开如上的参数即可,不用做其他的设置.
--------------------------------------------本地用户登录配置---------------------------------------------
首先说一下概念,什么是本地用户,本地用户就是你系统/home目录下的用户,当然有的用户建立时候使用-m命令,使用户在/home下没有目录,但是这个词的意思就是系统里面有的用户.
local_enable=YES //允许本地用户登录
local_root=/home //限制本地用户登录后的根目录
eg:
[root@centos ftp]# ftp 192.168.0.125
Connected to 192.168.0.125.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.0.125:root): xu
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,0,125,135,123)
150 Here comes the directory listing.
drwx------ 2 505 503 4096 Jun 26 09:42 chuan
drwx------ 2 507 507 4096 Jun 30 22:26 ftp
drwx------ 2 504 502 4096 Jun 26 09:42 joe
drwx------ 2 506 503 4096 Jun 26 09:43 laomeng
drwx------ 2 502 504 4096 Jun 26 09:42 master
drwx------ 2 503 502 4096 Jun 26 09:42 mike
drwx------ 2 500 500 4096 Jun 25 21:34 xiaochuan
drwxrwxrwx 2 508 508 4096 Jun 30 22:39 xu
drwx------ 2 501 501 4096 Jun 25 20:25 xujunchuan
226 Directory send OK.
ftp> pwd
257 "/home"
--------------------------------------限制用户目录部分---------------------------------------------------
chroot_local_user=YES|NO //是否将本地用户锁定在家目录
chroot_list_enable=YES|NO //是否锁定使用者在家目录中
chroot_list_file=/etc/vsftpd/chroot_list //一般情况下都将这个文件写在/etc/vsftpd目录下,这个文件就是设置锁定用户的一个列表文件,其中一行就代表一个用户
------------------------------------------设置欢迎信息---------------------------------------------------
dirmessage_enable=YES
message_file=.message
[root@centos ftp]# cd /home
[root@centos home]# vi .message
welcomt to VSFTP.............
C:\Documents and Settings\Administrator>ftp 192.168.0.125
Connected to 192.168.0.125.
220 (vsFTPd 2.0.5)
User (192.168.0.125:(none)): xu
331 Please specify the password.
Password:
230-welcomt to VSFTP.............
230 Login successful.
ftp>
--------------------------------------虚拟账户配置-----------------------------------
本地账户vuser,目录定在/var/ftp/vuser.虚拟账户may密码123;ccc密码123
随意哪个目录建立vuser.txt,按行将虚拟账户及其密码输入进去,我在/目录下设置的,格式如下:
may
123
ccc
123
[root@centos /]# db_load -T -t hash -f vuser.txt /etc/vsftpd/vuser.db
[root@centos /]# cd /etc/vsftpd/
[root@centos vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh vuser.db
[root@centos vsftpd]# vi chroot_list
vuser
[root@centos vsftpd]# ls
chroot_list ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh vuser.db
[root@centos vsftpd]# vi vsftpd.conf //进入配置文件,更改如下配置
anonymous_enable=NO
local_enable=YES //虚拟帐户对应的是系统本地用户,所以必须开启这一项
anon_upload_enable=YES //开启此项以后,使用虚拟账户后可以上传文件.
write_enable=YES //开启用户写权限.与上面那个参数需要同时开启,才可以上传文件
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=vuser
chroot_list_enable=YES //将虚拟用户锁定在其对应本地账户设置时的根目录下.
chroot_list_file=/etc/vsftpd/chroot_list
---------------------------------多虚拟账户对应不同目录的VSFTP-------------------------------------
本地用户vuser,ftpvip.虚拟账户ftp1,ftp2密码均是123.ftp1对应vuser,ftp2对应ftpvip.
修改vuser.txt,添加新的虚拟账户.
[root@centos vsftpd]# vi /vuser.txt
may
123
ccc
123
ftp1
123
ftp2
123
[root@centos vsftpd]# useradd -d /var/ftp/vip ftpvip
修改主conf参数,增加以下配置,填写"user_config_dir=/ftpconfig",这个就是定义不同账户对应不同目录的重要所在.
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
user_config_dir=/ftpconfig
ftp1和ftp2用户的具体参数配置都需要/ftpconfig下的ftp1和ftp2文件来定义.我将已经写好的配置如下:
[root@centos vsftpd]# cat /ftpconfig/ftp1
local_root=/var/ftp/vuser
guest_username=vuser
anon_world_readable_only=no
[root@centos vsftpd]# cat /ftpconfig/ftp2
local_root=/var/ftp/vip
guest_username=ftpvip
anon_world_readable_only=no
阅读(1525) | 评论(0) | 转发(0) |