[原]利用tar包安装和配置高可用性的vsftp

发表于:2007-07-04来源:作者:点击数: 标签:
[color=green:1af834efb8]作者:梁尚锋网名:好好先生 欢迎转载,转载请保留上述信息 ===========================================================================[/color:1af834efb8] 昨天看到有朋友说用tar包安装的vsftp不能用本地用户登录,感觉十分诧

[color=green:1af834efb8]作者:梁尚锋  网名:好好先生
欢迎转载,转载请保留上述信息
===========================================================================[/color:1af834efb8]
  昨天看到有朋友说用tar包安装的vsftp不能用本地用户登录,感觉十分诧异。但自己也仅做过rpm的,所以没有发言权。今天在自己机器上用tar包成功安装并配置了一个vsftp,现在把我的过程和大家说一下,希望对大家有所帮助!

一、安装
[list:1af834efb8]1.下载最新的稳定版vsftpd-1.2.1.tar.gz
   2.卸载原有的rpm的vsftpd
    rpm -e vsftpd
   3.tar xvzf vsftpd-1.2.1.tar.gz
   4.cd vsftpd-1.2.1
   5.make
   6.useradd nobody
   7.mkdir /usr/share/empty
   8.mkdir /var/ftp
   9.useradd -d /var/ftp ftp
   10.chown root.root /var/ftp
   11.chmod og-w /var/ftp
   说明:如果你象我一样原来有rpm的vsftp,只是卸载了,可以省略6-11步,如果原来没有安装vsftp,请按部就班。
  12.make install
   13.vi /etc/x.netd.d/vsftpd
    把disable=yes改成no,保存退出。然后service xinetd restart,OK!新装的vsftp已经可以工作了!
    说明:默认安装的vsftpd是以xinetd的方式启动的。你需要上述操作,一会儿,我们再来讲把它改成独立启动的服务。
  14.ftp 127.0.0.1
     输入用户名ftp,密码直接回车,OK!已经可以连接了!输入quit退出。然后重新ftp 127.0.0.1,输入本地用户和密码,却提示login faild!why?原来少一个本地用户认证的pam文件。
  15.cp RedHat/vsftpd.pam /etc/pam.d/ftp(注意,没有这一步将不能使用本地用户登录!)
  16.cp vsftpd.conf /etc/vsftpd.conf(现在,默认还是只能匿名用户登录)
  17.vi /etc/vsftpd.conf
     把anonmous_enable=YES改成NO(禁掉匿名链接,不安全
     把local_enable=YES前的注释去掉(打开本地用户连接的权限)
     把write_enable=YES前的注释去掉(打开本地用户的写权限)
     把local_umask=022前的注释去掉
    service xinetd restart
  18.再次测试
     ftp 127.0.0.1
     使用ftp用户空密码登录,将出现login faild
     使用本地用户登录,OK!已经成功了!上传文件,也OK![/list:u:1af834efb8]
  这样是不是就完事儿了?不是,做一个FTP,我们通常还需要一些特殊要求:比如一个用户我只允许他下载,不允许他上传;另一个用户可以下载也可以上传,但是他不能删除文件,不能给文件改名;另外,我还需要我的FTP使用非常规的端口,限制下载的速度,还需要一个管理员用户。那怎么办?请看下面的部分!

二、高级配置
[list:1af834efb8]   1.使用独立服务
    a.vi /etc/xinetd.d/vsftpd把disable=no还改成yes,不再需要它了!
    b.vi /etc/vsftpd.conf在结尾加上listen=YES
      c.service xinetd restart
      d./usr/local/sbin/vsftpd /etc/vsftpd.conf &
      OK!现在vsftp已经是独立启动的服务了!
   2.使用非常规的端口(2121)
     a.vi /etc/vsftpd.conf
      添加listen_port=2121,保存退出
    b.killall -9 vsftpd
      c./usr/local/sbin/vsftpd /etc/vsftpd.conf &
    OK!现在用ftp 127.0.0.1将提示你连接被拒绝了(ftp:connect:Connetion refuesd)!然后ftp 127.0.0.1 2121输入用户名和密码,OK!可以登录!
    3.实现不同用户不同权限
     现在我们就来实现三个用户的不同权限:a.upload用户,可以上传下载,可以新建文件夹,但不能删除文件和文件夹,不能重命名原有文件和文件夹;b.download用户,只能下载;c.admin用户,管理员,可以上传,可以下载,可以新建文件夹,可以删除和更改文件和文件夹名。这些用户都不能登录系统,并且用ftp连接时锁定在自己的家目录中不能进入系统文件夹。
    a.cat << ! >logins.txt
      >upload
      >******* #upload用户的密码
      >download
      >*******
      >admin
      >****************
      >!
      说明,此文本文件的格式是:单数行为用户名,偶数行为密码
    b.db_load -T -t hash -f logins.txt /etc/vsftpd_login.db
    c.chmod 600 /etc/vsftpd_login.db
    d.cd vsftpd-1.2.1/EXAMPLE;cp VIRYUAL_USERS/vsftpd.pam /etc/pam.d/ftp.vu (进入你的解包的源码目录,把虚拟用户的认证文件拷贝到/etc/pam.d/下)
    e.useradd -d /home/ftpsite virtual;chmod 700 /home/ftpsite;su - virtual -c "echo hello>/homt/ftpsite/test.file(建立虚拟用户所要访问的ftp目录并设置仅virtual用户访问的权限和创建一个供下载实验的文件)
    f.vi /etc/vsftpd.conf在此文件中插入下面的配置语句
     guest_enable=YES(启用虚拟用户)
     guest_username=virtual(将虚拟用户映射为本地virtual用户)
     pam_service_name=ftp.vu(指定PAM配置文件为ftp.vu)
     user_config_dir=/etc/vsftpd_user_conf(指定不同虚拟用户配置文件的存放路径)
    保存退出
    g.mkdir /etc/vsftpd_user_conf
    h.开放不同用户的不同权限 echo "anon_world_readable_only=NO">/etc/vsftpd_user_conf/download(开放download用户的下载权限——只能下载;注意这个不地方不要写成YES,否则将不能列出文件和目录)
     cp /etc/vsftpd_user_conf/download /etc/vsftpd_user_conf/upload
     vi /etc/vsftpd_user_conf/upload,添加下列行
     write_enable=YES (增加写权限)
     anon_upload_enable=YES(增加上传权限)
     anon_mkdir_write_enable=YES (增加创建目录的权限)
     cp /etc/vsftpd_user_conf/upload /etc/vsftpd_user_conf/admin
     增加一行:
     anno_other_writer_enable=YES(增加管理员用户的删除/重命名的权限)
    i.测试
      killall -9 vsftpd;/usr/local/sbin/vsftpd /etc/vsftpd.conf &
      ftp 127.0.0.1 2121
      以用户名download和你设置的密码登录,ls,可以看到文件,下载,成功!put一个文件,提示
 Permission denied。rename test.file同样权限被拒绝;delete test.file同样不成功!
      输入quit退出,以upload用户登录,OK!可以上传,下载,mkdir lsf,提示“/lsf" created;rename lsf lsf1提示Permission denied,删除文件同样不成功!
     输入quit退出,以admin用户登录,可以有上述所有权限,然后rmdir lsf,提示Remove directory o[eration successful;delete test.file提示Delete operation successful!OK,大功告成了!
   4.还有限速,限制同一个IP的连接数,限制最大连接数等,我在另外的文章中已经写过,在此不再赘述![/list:u:1af834efb8]
三、附目
   1.我的/etc/vsftpd.conf文件的内容
    [quote:1af834efb8]# Example config file /etc/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=NO
#
# Uncomment this to allow local users to log in.
local_enable=YES
#
# 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=NO
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
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
#
# 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_username=whoever
#
# You may override where the log file goes if you like. The default is shown
# below.
#xferlog_file=/var/log/vsftpd.log
#
# 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
#
# You may change the default value for timing out a data connection.
#data_connection_timeout=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
#
# 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 turning on ascii_download_enable enables malicious remote parties
# to consume your I/O resources, by issuing the command "SIZE /big/file" in
# ASCII mode.
# These ASCII options are split into upload and download because you may wish
# to enable ASCII uploads (to prevent uploaded scripts etc. from breaking),
# without the DoS risk of SIZE and ASCII downloads. ASCII mangling should be
# on the client anyway..
ascii_upload_enable=YES
ascii_download_enable=YES
#
# You may fully customise the login banner string:
ftpd_banner=Welcome to Serv-U FTP serser. #(一个真实的慌言:em02:)
#
# 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
# (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
chroot_local_user=YES
listen_port=2121
listen=yes
guest_enable=YES
guest_username=virtual
pasv_min_port=30000
pasv_max_port=30999
pam_service_name=ftp.vu
anon_world_readable_only=NO
user_config_dir=/etc/vsftpd_user_conf    [/quote:1af834efb8]

   2.我的/etc/vsftpd_user_conf/download的内容
  [quote:1af834efb8]anon_world_readable_only=NO[/quote:1af834efb8]   
3.我的/etc/vsftpd_user_conf/upload的内容
[quote:1af834efb8]anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES[/quote:1af834efb8]
   4.我的/etc/vsftpd_user_conf/admin的内容
[quote:1af834efb8]anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
anon_mkdir_write_enable=YES[/quote:1af834efb8]

   5.自启动脚本,在/etc/rc.local中加入/usr/local/sbin/vsftpd /etc/vsftpd.conf &

>

原文转自:http://www.ltesting.net

 antiids 回复于:2004-03-21 08:19:06
好东西哦~

 llzqq 回复于:2004-03-21 10:31:00
很详细啊!什么时候写的?顶一下。

 好好先生 回复于:2004-03-21 10:33:45
[quote:a932e0e117="llzqq"]很详细啊!什么时候写的?顶一下。[/quote:a932e0e117]
呵呵!昨天晚上,写完已经10:30了。就没有贴上来! :em02:

 sunny~tea 回复于:2004-03-21 10:55:29
[color=darkblue:2a07626bc6]好好真是及时雨呀我正想学做个FTP呢还没进精华就看见这贴了,好好读读先,小可在这里谢过了!![/color:2a07626bc6]

 好好先生 回复于:2004-03-21 11:00:15
[quote:58645571f0="sunny~tea"]好好真是及时雨呀我正想学做个FTP呢还没进精华就看见这贴了,好好读读先,小可在这里谢过了!![/quote:58645571f0]
客气了!我还要谢谢你和我一同解决了quota的问题呢! :em02:

 ipod 回复于:2004-03-21 13:17:51
要求加精!

 wangfeixue 回复于:2004-03-21 14:04:20
你写的那三种权限的方法是使用的虚你用户数据库完成的把!
但是我的虚你用户和你一样设置的,建立了虚拟用户数据库但是就事不能使用,我也打开了guest_enabel=YES guest_username=test 登录说用户名正确,密码正确,但就是login faile!
请问这里面还要注意些什么细节吗?

 好好先生 回复于:2004-03-21 14:31:58
[quote:c82c46573f="wangfeixue"]你写的那三种权限的方法是使用的虚你用户数据库完成的把!
但是我的虚你用户和你一样设置的,建立了虚拟用户数据库但是就事不能使用,我也打开了guest_enabel=YES guest_username=test 登录说用户名正确,密码正确,但就..........[/quote:c82c46573f]
有没有我的配置文件的后面几句, pam_service_name=ftp.vu(指定PAM配置文件为ftp.vu)
user_config_dir=/etc/vsftpd_user_conf(指定不同虚拟用户配置文件的存放路径)这几句?我当时做,忘了这两句也是怎么都不行。

 wangfeixue 回复于:2004-03-21 14:41:53
是这样,我用的原先的PAM路径,然后想里面添加关于user_db的项可以吗?

噢,也许这样不行的,这样是虚拟用户和本地用户双认证,但是要使本地和虚拟都可以使用讷?
user_config_dir我有的

我在试试,你也在想像

 好好先生 回复于:2004-03-21 14:48:23
我没有看原先的pam文件是怎么写的。我一会儿看看,现在我的机器在用着,不能重启。

 wangfeixue 回复于:2004-03-21 14:50:31
呵呵,好的

 好好先生 回复于:2004-03-21 14:52:38
但是没有原先的pam文件,本地用户也登录不了。

 wangfeixue 回复于:2004-03-21 14:56:58
我的
#%PAM-1.0
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd.ftpusers onerr=succeed
auth       required     pam_stack.so service=system-auth
auth       required     pam_shells.so
account    required     pam_stack.so service=system-auth
session    required     pam_stack.so service=system-auth
account    required     pam_userdb.so db=/etc/vsftpd/login.db
auth       required     pam_userdb.so db=/etc/vsftpd/login.db
~

 好好先生 回复于:2004-03-21 15:17:53
默认的/etc/pam.d/ftp中的内容应该是
[quote:50ad7738a0]#%PAM-1.0
auth       required     /lib/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth       required     /lib/security/pam_pwdb.so shadow nullok
auth       required     /lib/security/pam_shells.so
account    required     /lib/security/pam_pwdb.so
session    required     /lib/security/pam_pwdb.so[/quote:50ad7738a0]
ftp.vu的内容是
[quote:50ad7738a0]auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login[/quote:50ad7738a0]
我没有试过整合,你试一下。把结果贴上来,或者我等到能够重启系统时做一下。

 好好先生 回复于:2004-03-21 15:22:59
不过,我想可能不行。因为我看这两个文件,应该是有冲突的。

 llzqq 回复于:2004-03-21 19:06:00
我已经解决了:

[root@home root]# vi /etc/pam.d/ftpd
    auth required /lib/security/pam_userdb.so \
     db=/etc/vsftpd/vsftpd_login
     account  required  /lib/security/pam_userdb.so \  
     db=/etc/vsftpd/vsftpd_login

[root@home vsftpd]# vi vsftpd.conf
    pam_service_name=ftpd

 llzqq 回复于:2004-03-21 19:09:37
我把我的proftpd换掉了,呵呵!

 wangfeixue 回复于:2004-03-21 19:16:47
你的意思是重新建立一个新的pam

 llzqq 回复于:2004-03-21 19:18:34
是的,这个问题困了我一个上午,后来自己建了一个就好了。

 ml2hs 回复于:2004-03-21 22:16:08
好好学习

 zsgd 回复于:2004-03-21 22:28:09
我以前也遇到过本地用户不能登陆的情况,是因为
chroot_list_enable=YES 
# (default follows) 
chroot_list_file=/etc/vsftpd.chroot_list 
有错误,把上面三行都注释掉就可以,或是改为如下
chroot_list_enable=YES 
# (default follows) 
chroot_list_file=/etc/vsftpd/chroot_list
同时在/etc/vsftpd/chroot_list里输入用户名即可
登陆不上是因为找不到chroot_list文件里的用户

做好的ftp同时挂载WIN2K下面的文件,大家有空可以到这里看看电影,也有一些歌,
ftp://219.144.194.18  ,user:pub , pw:112233

 好好先生 回复于:2004-03-22 07:11:44
[quote:042ac9ca42="llzqq"][root@home root]# vi /etc/pam.d/ftpd 
auth required /lib/security/pam_userdb.so \ 
db=/etc/vsftpd/vsftpd_login 
account required /lib/security/pam_userdb.so \ 
db=/etc/vsftpd/vsftpd_login 

[root@home vsftpd]# vi vsftpd.conf 
pam_service_name=ftpd [/quote:042ac9ca42]
你的新的文件核心还是我的vsftpd.vu的内容啊!并没有想wanfanxu那样把两个文件整合呀!上一个文件中有
[quote:042ac9ca42]auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed [/quote:042ac9ca42]
你的文件中并没有。所以,你使用的还pam_userdb.so没有使用pam_listfile.so。

 好好先生 回复于:2004-03-22 07:12:43
[quote:71c99277d6="zsgd"]我以前也遇到过本地用户不能登陆的情况,是因为
chroot_list_enable=YES 
# (default follows) 
chroot_list_file=/etc/vsftpd.chroot_list 
有错误,把上面三行都注释掉就可以,或是改为如下
chroot_list_enable=..........[/quote:71c99277d6]
这三行把用户锁定到自己的主目录中的。和它没有多大关系吧? :em02:

 llzqq 回复于:2004-03-22 07:38:36
[quote:b29c78cd59="好好先生"]
你的文件中并没有。所以,你使用的还pam_userdb.so没有使用pam_listfile.so。[/quote:b29c78cd59]


可是我这样也可以啊?不知加上pam_listfile.so有什么不同。

 好好先生 回复于:2004-03-22 07:48:58
[quote:c75c6264db="llzqq"]


可是我这样也可以啊?不知加上pam_listfile.so有什么不同。[/quote:c75c6264db]
那个文件本来是用来验证本地用户的,使用vsftpd.vu后不再使用它了。现在使用的是虚拟用户:因为在vsftpd.conf中已经指定了使用虚拟用户,使用vsftpd.vu,所以原来的/etc/pam.d/ftp不再起作用了。其作用的是/etc/pam.d/vsftpd.vu中的两句:pam_userdb.so。你的包含这两句,所以就可以了。

 llzqq 回复于:2004-03-22 08:09:56
[quote:636189c346="好好先生"]
那个文件本来是用来验证本地用户的,使用vsftpd.vu后不再使用它了。现在使用的是虚拟用户:因为在vsftpd.conf中已经指定了使用虚拟用户,使用vsftpd.vu,所以原来的/etc/pam.d/ftp不再起作用了。其作用的是/etc/pam..........[/quote:636189c346]

你是说没有pam_listfile.so这句,本地用户就不能通过验证,只支持虚拟用户是这样的吗?

 好好先生 回复于:2004-03-22 08:22:50
[quote:967e75e2fe="llzqq"]

你是说没有pam_listfile.so这句,本地用户就不能通过验证,只支持虚拟用户是这样的吗?[/quote:967e75e2fe]
我还没有试验,应该是没有这个和那个/etc/vsftpd.chroot_list文件吧。还有一个文件。

 好好先生 回复于:2004-03-22 08:24:01
我现在要出去,llzqq可以试验一下。:em02:

 fyx2008 回复于:2004-03-22 10:00:03
很好呀,谢谢。。。。。收了。。。。

 wallace888 回复于:2004-03-22 12:05:48
我按照帖子上做的基本成功,但是有点小问题。就是我的admin用户怎么登陆不上去呢?download和upload用户都可以正常用.

[root@wallace root]# ftp localhost 2121
Connected to localhost (127.0.0.1).
220 (vsFTPd 1.2.1)
Name (localhost:wallace): admin
331 Please specify the ;password.
Password:
500 OOPS: bad bool value in config file for: anon_world_readable_only
Login failed.
421 Service not available, remote server has closed connection

我的/etc/vsftpd_user_conf内容
anon_world_readable_only=NO 
write_enable=YES 
anon_upload_enable=YES 
anon_other_write_enable=YES 
anon_mkdir_write_enable=YES

 zsgd 回复于:2004-03-22 12:11:37
aa

 好好先生 回复于:2004-03-22 12:12:23
检查一下你的admin的密码。另外,你的vsftpd.conf中是怎么写的?他提示anon_world_readable_only有问题。

 llzqq 回复于:2004-03-22 12:12:58
检查一下这句中的“_”是不是有问题:
anon_world_readable_only

 wallace888 回复于:2004-03-22 12:24:04
我的密码没有问题呀?
upload
123456
download
123456
admin
123456
还有如果我更改了密码?还需要执行
db_load -T -t hash -f logins.txt /etc/vsftpd_login.db 
这个命令吗??

 好好先生 回复于:2004-03-22 12:28:05
[quote:ad74ed3f5f="wallace888"]我的密码没有问题呀?
还有如果我更改了密码?还需要执行
db_load -T -t hash -f logins.txt /etc/vsftpd_login.db 
这个命令吗??[/quote:ad74ed3f5f]
那是一定的。

 wallace888 回复于:2004-03-22 12:38:09
好好,看样子可能是我的vsftpd.conf的问题呀!那个提示
500 OOPS: bad bool value in config file for: anon_world_readable_only
Login failed.
421 Service not available, remote server has closed connection
是怎么回事情呀!

 wangfeixue 回复于:2004-03-22 13:58:00
我做了实验把虚拟用户的am配置文件和本地用户的pam配置文件整和到一起是可以的

但是要做相应的修改,不然本地用户是无法登录的,因为本地用户登录后还需要严整是否是虚拟用户

把本地用户的pam配置行的required该成sufficient就可以了

 wallace888 回复于:2004-03-22 16:43:35
我的admin的用户不好用其他的都好用不知道为什么!
这个是我的vsftpd.conf

# Example config file /etc/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
#
# Uncomment this to allow local users to log in.
local_enable=YES
#
# 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
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
#anon_mkdir_write_enable=YES
#
# 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
#
# 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_username=whoever
#
# You may override where the log file goes if you like. The default is shown
# below.
#xferlog_file=/var/log/vsftpd.log
#
# 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
#
# You may change the default value for timing out a data connection.
#data_connection_timeout=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
#
# 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 turning on ascii_download_enable enables malicious remote parties
# to consume your I/O resources, by issuing the command "SIZE /big/file" in
# ASCII mode.
# These ASCII options are split into upload and download because you may wish
# to enable ASCII uploads (to prevent uploaded scripts etc. from breaking),
# without the DoS risk of SIZE and ASCII downloads. ASCII mangling should be
# on the client anyway..
#ascii_upload_enable=YES
#ascii_download_enable=YES
#
# You may fully customise the login banner string:
#ftpd_banner=Welcome to blah FTP service.
#
# 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
# (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
listen=YES
listen_port=2121
guest_enable=YES
guest_username=virtual
pam_service_name=ftp.vu
user_config_dir=/etc/vsftpd_user_conf

 wallace888 回复于:2004-03-22 17:17:59
问题已经解决了,主要的原因可能是因为我的/etc/vsftpd_user_conf的配置疏忽造成的!我从新做了一便问题解决!

 好好先生 回复于:2004-03-22 18:47:41
[quote:fb68684bf2="wallace888"]问题已经解决了,主要的原因可能是因为我的/etc/vsftpd_user_conf的配置疏忽造成的!我从新做了一便问题解决![/quote:fb68684bf2]
呵呵!恭喜!

 好好先生 回复于:2004-03-22 18:50:57
[quote:bbdc0da191="wangfeixue"]我做了实验把虚拟用户的pam配置文件和本地用户的pam配置文件整和到一起是可以的

但是要做相应的修改,不然本地用户是无法登录的,因为本地用户登录后还需要严整是否是虚拟用户

把本地用户的pam配置行的required?.........[/quote:bbdc0da191]
能否把你的这个pam文件贴出来,参考一下?我感觉是可以整合,但不是那两个文件直接放到一块儿那么简单。也没有顾上再做。

 SunLife 回复于:2004-03-22 22:32:51
好贴,不过如果能跟Apache2整合做虚拟主机就好了

 supereyes 回复于:2004-03-23 10:18:34


 zhangweibo 回复于:2004-03-24 08:58:25
very good!

 yibinshao 回复于:2004-03-24 11:06:09
make:gcc:command not found
make:***[main.o] Error 127

是不是没有gcc这个文件呢?

 好好先生 回复于:2004-03-24 11:08:25
是的。

 lnx 回复于:2004-03-24 16:52:49
[quote:e33682cf06="好好先生"]
cat <<!>logins.txt 
>upload 
>******* #upload用户的密码 
>download 
>******* 
>admin 
>**************** 
>! 
说明,此文本文件的格式是:单数行为用户名,偶数行为密码


/usr/local/sbin/vsftpd /etc/vsftpd.conf &[/quote:e33682cf06]

上面二个不是很明白,好好能不能解释下?谢谢!

 好好先生 回复于:2004-03-24 16:56:58
就是利用cat命令来生成logins.txt这个文件。

 lnx 回复于:2004-03-24 17:31:52
[quote:d5f9c9b7d0="好好先生"]就是利用cat命令来生成logins.txt这个文件。[/quote:d5f9c9b7d0]
我使用该命令时出现如下错误:
[root@test tmp]# cat <<!>logins.txt
-bash: !: event not found
[root@test tmp]# 
请问是什么原因呢?

 好好先生 回复于:2004-03-24 18:09:47
[quote:3fcbb5f27f="lnx"]t tmp]# 
请问是什么原因呢?[/quote:3fcbb5f27f]
不会呀?我没有发现上述错误啊。试试这样写[code:1:3fcbb5f27f]cat << ! >logins.txt [/code:1:3fcbb5f27f]
另外一句:[code:1:3fcbb5f27f]/usr/local/sbin/vsftpd /etc/vsftpd.conf &[/code:1:3fcbb5f27f]是在后台运行vsftpd。

 AMDlinux 回复于:2004-03-24 18:56:35
好厲害啊

 lnx 回复于:2004-03-24 20:36:27
[quote:1661ee590a="好好先生"]
--------------------------------------------------------------------------------
 
试试这样写代码: 
cat << ! >logins.txt  

[/quote:1661ee590a]
原来是这样 :em02: 
[quote:1661ee590a="好好先生"]

另外一句:代码: 
/usr/local/sbin/vsftpd /etc/vsftpd.conf & 
是在后台运行vsftpd。
 
[/quote:1661ee590a]
这句我知道是在后台运行VSFTPD,但是为什么要多加“/etc/vsftpd.conf & ”这个呢?
不好意思,我很笨 :mrgreen:

 好好先生 回复于:2004-03-24 21:35:43
指定配置文件。如果有多个配置文件的话是必须的。

 cysky 回复于:2004-03-26 20:41:01
好东东

 zhaodahe 回复于:2004-03-28 16:02:16
好好先生,你真是好!没得顶,哪里人?

 wangfeixue 回复于:2004-03-28 17:53:39
cat >logins.txt  <<!
这样也可以
读到!时停止输入

 ythh_cbt 回复于:2004-08-30 23:02:09
就是我上传的文件夹的权限是drwx---------文件的权限是-rw--------
我原来没用虚拟用户的时候是drwxr-xr-x  -rw-r--r--
权限怎么能改回去呢
这样我每次传上去的东西都要去改权限很麻烦的。谢谢,急 :oops:

 enginercp 回复于:2005-03-15 12:17:59
及时雨-宋江

 wind521 回复于:2005-03-15 13:50:28


 sophia_dotty 回复于:2005-05-09 08:33:34
请问在ws3.2的版本下用什么ftp,sftp能像原来的ftp那样简单的方便的使用吗。听说两个机器必须有相同的用户才行。是这样吗,其他的那种ftp可以安装在这个版本上/谢谢,急用呀。