Chinaunix

标题: vsftp配置大全---已完成 [打印本页]

作者: 初学vb    时间: 2005-06-08 17:57
标题: vsftp配置大全---已完成
最近心血来潮,想搭建一个FTP空间,就选vsftp把,这不是非常安全的吗?网上随处能看到文章,但看来看去,都是老版本,现在的都已经
Mar. 2005 - vsftpd-2.0.3 released

好吧,啃了一天,恩,把匿名、本地用户、数据库虚拟用户 等登陆方式都实现了一个遍,今天晚上去写文档!!

作品已完成,请大家看后提出宝贵意见,转载请联系我,MSNu1701@hotmail.com
作者: 初学vb    时间: 2005-06-08 17:59
标题: vsftp配置大全---已完成
明天给大家写过来!西西!省得大家费时间看那些过时的资料!
作者: acesword    时间: 2005-06-08 18:05
标题: vsftp配置大全---已完成
支持一下..高手能不能抽空去看看俺的问题>;_<
http://bbs.chinaunix.net/forum/viewtopic.php?t=558676&show_type=
作者: 初学vb    时间: 2005-06-08 18:12
标题: vsftp配置大全---已完成
答完了!
作者: srx9999    时间: 2005-06-08 23:02
标题: vsftp配置大全---已完成
明天等你的好消息
作者: 初学vb    时间: 2005-06-08 23:56
标题: vsftp配置大全---已完成
好,先给大家个匿名的,本来觉得不多,可越写越多!很多概念之前就得搞明白,要不以后会受罪的!

一、前言
Vsftp(Very Secure FTP)是一种在Unix/Linux中非常安全且快速稳定的FTP服务器,目前已经被许多大型站点所采用,如ftp.redhat.com,ftp.kde.org,ftp.gnome.org.等。Vsftpd的实现有三种方式
1、匿名用户形式:在默认安装的情况下,系统只提供匿名用户访问
2、本地用户形式:以/etc/passwd中的用户名为认证方式
3、虚拟用户形式:支持将用户名和口令保存在数据库文件或数据库服务器中。相对于FTP的本地用户形式来说,虚拟用户只是FTP服务器的专有用户,虚拟用户只能访问FTP服务器所提供的资源,这大大增强系统本身的安全性。相对于匿名用户而言,虚拟用户需要用户名和密码才能获取FTP服务器中的文件,增加了对用户和下载的可管理性。对于需要提供下载服务,但又不希望所有人都可以匿名下载;既需要对下载用户进行管理,又考虑到主机安全和管理方便的FTP站点来说,虚拟用户是一种极好的解决方案。
   
二、获取最新版的Vsftp程序
Vsftp官方下载:ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.0.3.tar.gz,目前已经到2.0.3版本。假设我们已经将vsftpd-2.0.3.tar.gz文件下载到服务器的/home/xuchen目录
# cd /home/xuchen
# tar xzvf vsftpd-2.0.3.tar.gz //解压缩程序
# cd vsftpd-2.0.3

三、三种方式的实现
1、匿名用户形式实现
# vi builddefs.h  \\编辑builddefs.h 文件,文件内容如下:

#ifndef VSF_BUILDDEFS_H

#define VSF_BUILDDEFS_H
#undef VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#undef VSF_BUILD_SSL

#endif /* VSF_BUILDDEFS_H */
将以上undef的都改为define,支持tcp_wrappers,支持PAM认证方式,支持SSL

# make  //直接在vsftpd-2.0.3里用make编译
# ls -l vsftpd
-rwxr-xr-x  1 root root 86088 Jun  6 12:29 vsftpd  //可执行程序已被编译成功

创建必要的帐号,目录:
# useradd nobody  //可能你的系统已经存在此帐号,那就不用建立
# mkdir /usr/share/empty  //可能你的系统已经存在此目录,那就不用建立
# mkdir /var/ftp  //可能你的系统已经存在此目录,那就不用建立
# useradd -d /var/ftp ftp  //可能你的系统已经存在此帐号,那就不用建立
# chown root:root /var/ftp
# chmod og-w /var/ftp
请记住,如果你不想让用户在本地登陆,那么你需要把他的登陆SHELL设置成/sbin/nologin,比如以上的nobody和ftp我就设置成/sbin/nologin

安装vsftp配置文件,可执行程序,man等:
# install -m 755 vsftpd /usr/local/sbin/vsftpd-ano
# install -m 644 vsftpd.8 /usr/share/man/man8
# install -m 644 vsftpd.conf.5 /usr/share/man/man5
# install -m 644 vsftpd.conf /etc/vsftpd-ano.conf
这样就安装完成了,那么我们开始进行简单的配置

# vi /etc/vsftpd-ano.conf ,将如下三行加入文件
listen=YES
listen_port=21
tcp_wrappers=YES
anon_root=/var/ftp //设置匿名用户本地目录,和ftp用户目录必须相同
listen=YES的意思是使用standalone启动vsftpd,而不是super daemon(xinetd)控制它 (vsftpd推荐使用standalone方式)
# /usr/local/sbin/vsftpd-ano /etc/vsftpd-ano.conf &  //以后台方式启动vsftpd
注意:每行的值都不要有空格,否则启动时会出现错误,举个例子,假如我在listen=YES后多了个空格,那我启动时就出现如下错误:
500 OOPS: bad bool value in config file for: listen


测试搭建好的匿名用户方式
# ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 2.0.3)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (127.0.0.1:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>; pwd
257 "/"
ftp>; quit
221 Goodbye.
#
OK,已经完成了,very nice.

高级配置
细心的朋友可能已经看出来我们只在默认配置文件增加了四行,就实现了FTP连接(也证明了vsftpd的易用性),那么让我们传个文件吧,呀!!传输失败了(见图1)
为什么呢?因为 vsftpd 是为了安全需要,/var/ftp目录不能把所有的权限打开,所以我们这时要建一个目录pub,当然也还是需要继续修改配置文件的。
# mkdir /var/ftp/pub
# chmod -R 777 /var/ftp/pub

为了测试方便,我们先建立一个名为kill-ano的脚本,是为了杀掉FTP程序的
#!/bin/bash
a=`/bin/ps -A | grep vsftpd-ano | awk '{print $1}'`
kill -9 $a

那么现在大家看看我的匿名服务器配置文件吧
anonymous_enable=YES  //允许匿名访问,这是匿名服务器必须的
write_enable=YES  //全局配置可写
anon_umask=077  //匿名用户上传的文件权限是-rw----
anon_upload_enable=YES  //允许匿名用户上传文件
anon_mkdir_write_enable=YES  //允许匿名用户建立目录
anon_other_write_enable=YES  //允许匿名用户具有建立目录,上传之外的权限,如重命名,删除
dirmessage_enable=YES  //当使用者转换目录,则会显示该目录下的.message信息
xferlog_enable=YES   //记录使用者所有上传下载信息
xferlog_file=/var/log/vsftpd.log  //将上传下载信息记录到/var/log/vsftpd.log中
xferlog_std_format=YES   //日志使用标准xferlog格式
idle_session_timeout=600  //客户端超过600S没有动作就自动被服务器踢出
data_connection_timeout=120  //数据传输时超过120S没有动作被服务器踢出
ftpd_banner=Welcome to d-1701.com FTP service.  //FTP欢迎信息
anon_max_rate=80000  //这是匿名用户的下载速度为80KBytes/s
check_shell=NO  //不检测SHELL

现在再测试,先kill掉再启动FTP程序
# ./kill-ano
# /usr/local/sbin/vsftpd-ano /etc/vsftpd-ano.conf &
上传一个文件测试一下,怎么样?OK了吧,下载刚上传的那个文件,恩?不行,提示
550 Failed to open file.
传输已失败!
传输队列已完成
1 个文件传输失败

没有关系,你记得咱们设置了anon_umask=077了吗?所以你下载不了,如果你到服务器上touch 一个文件(644),测试一下,是可以被下载下来的,好了,匿名服务器就说到这里了。
作者: 初学vb    时间: 2005-06-09 00:03
标题: vsftp配置大全---已完成
图是要慢慢传的!所以我就一个一个图来

1.GIF (73.99 KB, 下载次数: 144)

1.GIF

作者: 初学vb    时间: 2005-06-09 00:14
标题: vsftp配置大全---已完成
眼睛睁不开了,明天继续写吧!!
作者: 零二年的夏天    时间: 2005-06-09 08:07
标题: vsftp配置大全---已完成
期待下文
作者: mocou    时间: 2005-06-09 08:38
标题: vsftp配置大全---已完成
新旧差别不大,就是用mysql来认证时,新的pam不能用,不知现在是否出了新版本
作者: hongfengyue    时间: 2005-06-09 08:44
标题: vsftp配置大全---已完成
期待,等待下文!
谢谢!
作者: 初学vb    时间: 2005-06-09 09:46
标题: vsftp配置大全---已完成
[quote]原帖由 "mocou"]新旧差别不大,就是用mysql来认证时,新的pam不能用,不知现在是否出了新版本[/quote 发表:


还是有一些差别的,匿名用户是基础,你顺着我写的再往下看就知道有什么不一样了!呵呵,今天我一定奉献给大家本地用户如何认证登陆的文章,西西。北京下大雨了,不过好在我带了雨具。
作者: mocou    时间: 2005-06-09 10:00
标题: vsftp配置大全---已完成
赫赫,因为偶都做过了。不过还是要支持楼主这种精神。期待下文
作者: iamcm    时间: 2005-06-09 10:05
标题: vsftp配置大全---已完成
偶也觉得新旧差别不大。

不过呢,楼主的精神可嘉,强烈支持!

另外,偶建议楼主汇总一下比较好,偶尝试了N次,现在勉强熟悉了,但是期间参考的资料很零碎,这是一个网上很多资料的通病。
作者: Forget&Reme    时间: 2005-06-09 10:10
标题: vsftp配置大全---已完成
support!
作者: wallace888    时间: 2005-06-09 11:10
标题: vsftp配置大全---已完成
好文章就一定要支持!!
作者: 初学vb    时间: 2005-06-09 11:48
标题: vsftp配置大全---已完成
原帖由 "iamcm" 发表:
偶也觉得新旧差别不大。

不过呢,楼主的精神可嘉,强烈支持!

另外,偶建议楼主汇总一下比较好,偶尝试了N次,现在勉强熟悉了,但是期间参考的资料很零碎,这是一个网上很多资料的通病。


没错,就是因为这样才写这篇文章,其他文章大家就可以不用看了!

哈哈!
作者: 初学vb    时间: 2005-06-09 11:49
标题: vsftp配置大全---已完成
[quote]原帖由 "mocou"]赫赫,因为偶都做过了。不过还是要支持楼主这种精神。期待下文[/quote 发表:


其实如果你用PAM做认证的话,那差别是不大的,主要就在于今天要写的本地用户认证,这也是vsftp的一大改变(和原来比)
作者: 成长中    时间: 2005-06-09 12:02
标题: vsftp配置大全---已完成
严重支持搂主!
期待下文!

正在为认证问题郁闷中.....
作者: soul    时间: 2005-06-09 16:19
标题: vsftp配置大全---已完成
好同学
等待全面的论述
作者: 初学vb    时间: 2005-06-09 20:08
标题: vsftp配置大全---已完成
2、本地用户形式实现
# cd /home/xuchen/vsftpd-2.0.3  //进入vsftpd-2.0.3的源代码目录
# make clean  //清除编译环境
# vi builddefs.h  \\继续编辑builddefs.h 文件,文件内容如下:
#ifndef VSF_BUILDDEFS_H

#define VSF_BUILDDEFS_H
#define VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#define VSF_BUILD_SSL

#endif /* VSF_BUILDDEFS_H */
将以上define VSF_BUILD_PAM行的define改为undef,支持tcp_wrappers,不支持PAM认证方式,支持SSL,记住啊,如果支持了PAM认证方式,你本地用户是不能登陆的。

# make  //直接在vsftpd-2.0.3里用make编译
# ls -l vsftpd
-rwxr-xr-x  1 root root 84712 Jun  6 18:56 vsftpd  //可执行程序已被编译成功

创建必要的帐号,目录:
# useradd nobody  //可能你的系统已经存在此帐号,那就不用建立
# mkdir /usr/share/empty  //可能你的系统已经存在此目录,那就不用建立
# mkdir /var/ftp  //可能你的系统已经存在此目录,那就不用建立
# useradd -d /var/ftp ftp  //可能你的系统已经存在此帐号,那就不用建立
# chown root:root /var/ftp
# chmod og-w /var/ftp
请记住,如果你不想让用户在本地登陆,那么你需要把他的登陆SHELL设置成/sbin/nologin,比如以上的nobody和ftp我就设置成/sbin/nologin

安装vsftp配置文件,可执行程序,man等:
# install -m 755 vsftpd /usr/local/sbin/vsftpd-loc
# install -m 644 vsftpd.8 /usr/share/man/man8
# install -m 644 vsftpd.conf.5 /usr/share/man/man5
# install -m 644 vsftpd.conf /etc/vsftpd-loc.conf
这样就安装完成了,那么我们开始进行简单的配置

# vi /etc/vsftpd-loc.conf ,将如下三行加入文件
listen=YES
listen_port=21
tcp_wrappers=YES //支持tcp_wrappers,限制访问(/etc/hosts.allow,/etc/hosts.deny)
listen=YES的意思是使用standalone启动vsftpd,而不是super daemon(xinetd)控制它 (vsftpd推荐使用standalone方式),注意事项请参看匿名用户的配置。
anonymous_enable=NO
local_enable=YES  //这两项配置说不允许匿名用户登陆,允许本地用户登陆
# /usr/local/sbin/vsftpd-loc /etc/vsftpd-loc.conf &   //以后台方式启动vsftpd

测试搭建好的匿名用户方式,先测试root用户吧 :)
# ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 2.0.3)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (127.0.0.1:root): root
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>; pwd
257 "/root"
ftp>; quit
221 Goodbye.
我们看到root用户可以登陆到ftp,他的登陆目录就是自己的主目录。
再测试一个系统用户,那我们先建立一个用户名叫xuchen的
# useradd xuchen
# passwd xuchen
Changing password for user xuchen.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
建立好了,让我们开始测试吧!!
# ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 2.0.3)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (127.0.0.1:root): xuchen
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>; pwd
257 "/home/xuchen"
ftp>; quit
221 Goodbye.
我们看到xuchen用户可以登陆到ftp,他的登陆目录也是自己的主目录。哈哈,又完成了!那么继续。。。
高级配置
细心的朋友可能已经看出来如果我们不支持PAM认证方式,那么本地用户就可以登陆,而默认编译的vsftpd支持PAM认证方式,所以是不支持本地用户登陆的。恩,从这点说,这也是vsftp安全的一个表现----禁止本地用户登陆。
我们登陆后进行测试,传一个文件上去,得,失败了,那下载个文件下来吧,恩,这是成功的(见图2),而且我们发现我们可以进入到系统根目录(见图3),这样很危险。怎么办呢?

继续改配置文件啊,为了测试方便,我们先建立一个名为kill-loc的脚本,也是为了杀掉FTP程序的
#!/bin/bash
a=`/bin/ps -A | grep vsftpd-loc | awk '{print $1}'`
kill -9 $a

现在提供我的本地用户验证服务器配置文件吧(在匿名里写过的注释我就不在这里写了)
listen=YES
listen_port=21
tcp_wrappers=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022  //本地用户文件上传后的权限是-rw-r-r
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
connect_from_port_20=YES
chroot_local_user=YES //限制用户在自己的主目录
#local_root=/ftp  //你可以指定所有本地用户登陆后的目录,如果不设置此项,用户都会登陆于自己的主目录,就跟咱们前面测试的结果是一样的
local_max_rate=500000  //本地用户的下载速度为500KBytes/s
idle_session_timeout=600
data_connection_timeout=120
nopriv_user= nobody   //设定服务执行者为nobody,vsftpd推荐使用一个权限很低的用户,最好是没有家目录(/dev/null),没有登陆shell(/sbin/nologin),系统会更安全
ftpd_banner=Welcome to d-1701.com FTP service.
check_shell=NO

userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd.denyuser
以上三条设定不允许登陆的用户,用户列表存放在/etc/vsftpd.denyuser中,一行一个帐号如果我把xuchen这个用户加到vsftpd.denyuser里,那么登陆时会出现如下错误:
# ftp 127.0.0.1
Connected to 127.0.0.1.
220 Welcome to d-1701.com FTP service.
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (127.0.0.1:root): xuchen
530 Permission denied.
Login failed.
呵呵,有意思吧,自己测试吧,本地用户登陆方式就介绍到这里吧!
作者: 初学vb    时间: 2005-06-09 20:10
标题: vsftp配置大全---已完成
图2

2.GIF (84.23 KB, 下载次数: 87)

2.GIF

作者: 初学vb    时间: 2005-06-09 20:13
标题: vsftp配置大全---已完成
图3

3.GIF (76.05 KB, 下载次数: 84)

3.GIF

作者: 初学vb    时间: 2005-06-09 20:15
标题: vsftp配置大全---已完成
该写第三个方式了,今天开始写,明天写完!然后就perfect 了,哈哈
作者: 初学vb    时间: 2005-06-09 20:42
标题: vsftp配置大全---已完成
从明天起继续abel兄的rrdtool的研究了,这两天尽玩FTP了!OK,回家了!!
作者: 初学vb    时间: 2005-06-09 22:15
标题: vsftp配置大全---已完成
为什么我老找不到这个帖子,奇怪了!总得搜索。
作者: 初学vb    时间: 2005-06-10 10:05
标题: vsftp配置大全---已完成
DB库写完了,正在写mysql和磁盘限额的安装说明。。。
作者: jeffreyli    时间: 2005-06-10 10:22
标题: vsftp配置大全---已完成
楼主继续往下写,,,期待。。。。。

正在学习中,,,,,,
作者: hongfengyue    时间: 2005-06-10 10:44
标题: vsftp配置大全---已完成
期待!
作者: 初学vb    时间: 2005-06-10 14:38
标题: vsftp配置大全---已完成
mysql还真是费了不少劲才实现的,不过实现起来也简单!!呵呵,先说一下思路,就是屏弃crypt=2,为什么呢?大家看看

https://www.redhat.com/archives/pam-list/2004-September/msg00006.html

I'm expecting that's a SASL issue, though, and not PAM.
作者: 初学vb    时间: 2005-06-12 00:23
标题: vsftp配置大全---已完成
3、虚拟用户形式实现(db及mysql形式)
# cd /home/xuchen/vsftpd-2.0.3  //进入vsftpd-2.0.3的源代码目录
# make clean  //清除编译环境
# vi builddefs.h  \\继续编辑builddefs.h 文件,文件内容如下:
#ifndef VSF_BUILDDEFS_H

#define VSF_BUILDDEFS_H
#define VSF_BUILD_TCPWRAPPERS
#undef VSF_BUILD_PAM
#define VSF_BUILD_SSL

#endif /* VSF_BUILDDEFS_H */
将以上define VSF_BUILD_PAM行的undef改为define,支持tcp_wrappers,支持PAM认证方式,支持SSL,和匿名用户形式是一样的。

# make  //直接在vsftpd-2.0.3里用make编译
# ls -l vsftpd
-rwxr-xr-x  1 root root 86088 Jun  6 22:26 vsftpd  //可执行程序已被编译成功

创建必要的帐号,目录:
# useradd nobody  //可能你的系统已经存在此帐号,那就不用建立
# mkdir /usr/share/empty  //可能你的系统已经存在此目录,那就不用建立
# mkdir /var/ftp  //可能你的系统已经存在此目录,那就不用建立
# useradd -d /var/ftp ftp  //可能你的系统已经存在此帐号,那就不用建立
# chown root:root /var/ftp
# chmod og-w /var/ftp
请记住,如果你不想让用户在本地登陆,那么你需要把他的登陆SHELL设置成/sbin/nologin,比如以上的nobody和ftp我就设置成/sbin/nologin

安装vsftp配置文件,可执行程序,man等:
# install -m 755 vsftpd /usr/local/sbin/vsftpd-pam
# install -m 644 vsftpd.8 /usr/share/man/man8
# install -m 644 vsftpd.conf.5 /usr/share/man/man5
# install -m 644 vsftpd.conf /etc/vsftpd-pam.conf
这样就安装完成了,那么我们开始进行简单的配置

对于用DB库存储用户名及密码的方式来说:
(1)查看系统是否有相应软件包

# rpm –qa | grep db4
db4-devel-4.2.52-7.1
db4-4.2.52-7.1
db4-utils-4.2.52-7.1
(2)建立一个logins.txt的文件,单行为用户名,双行为密码,例如
# vi /home/logins.txt

xuchen
12345

(3)建立数据库文件并设置文件属性
# db_load -T -t hash -f /home/logins.txt /etc/vsftpd_login.db
# chmod 600 /etc/vsftpd_login.db
(4)建立认证文件
# vi /etc/pam.d/ftp 插入如下两行
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
(5)建立一个虚拟用户
useradd -d /home/vsftpd -s /sbin/nologin vsftpd
ls -ld /home/vsftpd
drwx------  3 vsftpd vsftpd 1024 Jun  6 22:55 /home/vsftpd/
(6)编写配置文件(注意事项请参看匿名用户的配置,这里不再赘述)
# vi /etc/vsftpd-pam.conf
listen=YES
listen_port=21
tcp_wrappers=YES //支持tcp_wrappers,限制访问(/etc/hosts.allow,/etc/hosts.deny)
listen=YES的意思是使用standalone启动vsftpd,而不是super daemon(xinetd)控制它 (vsftpd推荐使用standalone方式)
anonymous_enable=NO
local_enable=YES  //PAM方式此处必须为YES,如果不是将出现如下错误:
500 OOPS: vsftpd: both local and anonymous access disabled!
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES
guest_enable=YES
guest_username=vsftpd //这两行的意思是采用虚拟用户形式
virtual_use_local_privs=YES //虚拟用户和本地用户权限相同

pasv_enable=YES //建立资料联机采用被动方式
pasv_min_port=30000 //建立资料联机所可以使用port 范围的上界,0表示任意。默认值为0。
pasv_max_port=30999 //建立资料联机所可以使用port 范围的下界,0表示任意。默认值为0。
(7)启动程序
# /usr/local/sbin/vsftpd-pam /etc/vsftpd-pam.conf &
(8)测试连通及功能
# vi /home/vsftpd/test //建立一个文件,内容如下
1234567890
# chown vsftpd.vsftpd /home/vsftpd/test

# ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 2.0.3)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (127.0.0.1:root): xuchen
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>; pwd
257 "/"
ftp>; size test
213 11
ftp>; quit
221 Goodbye.
OK,用户名为xuchen,密码为12345可以连接到FTP服务器,看不到文件列表,但可以下载已知文件名的文件,不能上传文件,非常安全吧!!

如果我们需要用户看到文件,怎么办?也好办,在配置文件中加入如下语句:
anon_world_readable_only=NO  //匿名登入者不能下载可阅读的档案,默认值为YES

如果需要让用户上传文件和下载文件分开,建议如下这么做
# vi /home/logins.txt
xuchen
12345
upload
45678
//首先建立虚拟用户upload,密码为45678
# db_load -T -t hash -f /home/logins.txt /etc/vsftpd_login.db //更新数据文件

# mkdir /home/vsftpd/upload
# vi /etc/vsftpd-pam.conf 加入如下语句
user_config_dir=/etc/vsftpd_user_conf
# mkdir /etc/vsftpd_user_conf
# vi /etc/vsftpd_user_conf/upload 文件内容如下
local_root=/home/vsftpd/upload
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

# chmod 700 /home/vsftpd/upload
# chown vsftpd.vsftpd /home/vsftpd/upload/

这样,xuchen用户可以下载/home/vsftpd里的文件及upload里的文件,而upload用户可以上传和下载/home/vsftpd/upload文件夹的东西,但不能到/home/vsftpd里下载文件,很简单得实现了分用户上传和下载

对于用Mysql库存储用户名及密码的方式来说:
就是把用户名和密码放在mysql库里,实现起来也相当简单
(1)建立一个库并设置相应权限
# mysql –p
mysql>;create database ftpd;
mysql>;use ftpd;
mysql>;create table user(name char(20) binary,passwd char(20) binary);
mysql>;insert into user (name,passwd) values ('test1','12345');
mysql>;insert into user (name,passwd) values ('test2','54321');
mysql>;grant select on ftpd.user to ftpd@localhost identified by '123456';
mysql>;flush privileges; 刷新权限设置
mysql>;quit
(2)下载libpam-mysql进行安装编译
下载地址如下:
http://nchc.dl.sourceforge.net/sourceforge/pam-mysql/pam_mysql-0.5.tar.gz
假设我们把它放在了/home/xuchen目录下
# cd /home/xuchen
# tar xzvf pam_mysql-0.5.tar.gz
# cd pam_mysql
# make
# cp pam_mysql.so /lib/security
(3)建立PAM认证信息
# vi /etc/pam.d/ftp ,内容如下
auth required /lib/security/pam_mysql.so user=ftpd passwd=123456 host=localhost db=ftpd table=user usercolumn=name passwdcolumn=passwd crypt=0

account required /lib/security/pam_mysql.so user=ftpd passwd=123456 host=localhost db=ftpd table=user usercolumn=name passwdcolumn=passwd crypt=0

注意:
crypt= n
crypt=0: 明文密码
crypt=1: 使用crpyt()函数(对应SQL数据里的encrypt(),encrypt()随机产生salt)
crypt=2: 使用MYSQL中的password()函数加密
crypt=3:表示使用md5的散列方式
(4)建立本地虚拟用户
# useradd -d /home/ftpd -s /sbin/nologin ftpd

(5)下面就差修改vsftpd.conf文件了,我把我的提供给大家参考吧:)
# vi /etc/vsftpd-pam1.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
chroot_local_user=YES
guest_enable=YES
guest_username=ftpd
listen=YES
listen_port=21
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30999
anon_world_readable_only=NO
virtual_use_local_privs=YES

#user_config_dir=/etc/vsftpd_user_conf
可以看出,和前面的用db库来验证没有多大区别,其实就是一个东西,一个用mysql来验证,一个用db库,我个人比较倾向于用db库来验证,在这个环境下,相对于Mysql来说,安全系数更高一点。

(6)# /usr/local/sbin/vsftpd-pam /etc/vsftpd-pam1.conf &   //以后台方式启动

(7)测试连通
# ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 2.0.3)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (127.0.0.1:root): test1
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>; pwd
257 "/"
ftp>; quit
221 Goodbye.
看,成功了!!这样就实现了mysql的认证方式,很简单吧??
作者: 初学vb    时间: 2005-06-12 00:24
标题: vsftp配置大全---已完成
4、为FTP增加磁盘配额,从而避免恶意用户用垃圾数据塞满你的硬盘
我首先要说的是这个功能是系统自带的,而不是vsftp 的功能之一,千万别搞混了。好了,我们先假设我们的系统用户ftpd的主目录是/home/ftpd,它是建立在/home分区中,那么如果我们要对ftpd用户进行磁盘限额,那我们需要修改/etc/fstab中根分区的记录,将/home分区的第4个字段改成defaults,usrquota,如下:
LABEL=/home   /home   ext3    defaults,usrquota     1 2
# reboot  //重新启动系统使设置生效
也可以用
# mount -o remount /dev/sda6  ///dev/sda6的挂接点就是/home,这样可以不用启动系统。
这里我还要说明一下,如果我们对一个组进行磁配额,那我们需要增加参数grpquota,例如
LABEL=/home   /home   ext3    defaults,grpquota     1 2
也可以
LABEL=/home   /home   ext3    defaults,usrquota,grpquota     1 2
你想怎么限制都可以,自己组合参数吧。
# quotacheck -avu
说明:a-自动开启挂载文件系统的配额,v-显示信息,u-启用用户配额or g-启用组配额
# edquota ftpd //为用户ftpd设置磁盘配额
OR
# edquota -g grp  //为组grp设置磁盘配额
系统会自动打开配额文件,如下:
Disk quotas for user ftpd (uid 502):
  Filesystem         blocks       soft       hard     inodes     soft     hard
  /dev/sda6           424          0          0         13        0        0
第一列是启用了配额的文件系统的名称。第二列显示了用户当前使用的块数,单位为KB。随后的两列用来设置用户在该文件系统上的软硬块限度。inodes 列显示了用户当前使用的i节点数量。最后两列用来设置用户在该文件系统上的软硬i节点限度.硬限是用户或组群可以使用的磁盘空间的绝对最大值。达到了该限度后,磁盘空间就不能再被用户或组群使用了。软限定义可被使用的最大磁盘空间量。和硬限不同的是,软限可以在一段时期内被超过。这段时期被称为过渡期(grace period),默认七天的超越。过渡期可以用秒钟、分钟、小时、天数、周数、或月数表示。如果以上值中的任何一个被设置为 0,那个限度就不会被设置。我设置了硬块限度为1KB,是为了测试方便。
# quotaon  -avu  //打开磁盘配额监控进程,u是用户g是组,这里我没设置g参数
要校验用户的配额是否被设置,我们可以使用以下命令:
# quota ftpd
Disk quotas for user ftpd (uid 502):
  Filesystem  blocks   quota   limit    grace   files   quota   limit   grace
/dev/sda6     424*    0      1            13      0      0        
# edquota –t(-g)来设置过渡期(grace period) //当然只针对软限制而言
和另一个 edquota 命令相似,这个命令也会在文本编辑器中打开当前的文件系统配额:
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
  Filesystem             Block grace period     Inode grace period
/dev/sda6                     7days                  7days
按你的需要修改后存盘退出
用以下命令显示磁盘配额使用状态
# repquota  -a  或 repquota  /dev/sda6(用户配额)
# repquota -g -a 或 repquota -a /dev/sda6 (组的配额)
如果一切按照你的意思实施了,那么我们就进行测试了!如下图4

我们传了一个>;1k的文件,没有成功,这样我们就成功的为用户ftpd增添了磁盘配额,要是哪一天你不想加磁盘配额了,怎么办?参看如下命令:
取消某个文件系统的配额限制
#quotaoff  -vug /dev/sda6  //删除home分区的磁盘限额
#删除/etc/fstab中设置配额的部分
修改软配额的最大超越时间
注意:
/,/boot/,/proc,/mnt/cdrom等不要使用配额,没用。而且磁盘配额不适合FAT和FAT32系统。
以后当新设置了某个用户的配额,可以使用如下命令,马上生效。
# quotacheck -auvgm       --是不尝试重新挂载文件系统
作者: 初学vb    时间: 2005-06-12 00:25
标题: vsftp配置大全---已完成
图4

4.GIF (60.47 KB, 下载次数: 82)

4.GIF

作者: 初学vb    时间: 2005-06-12 00:29
标题: vsftp配置大全---已完成
这篇文章到这里应该是个头了,但我琢磨着用我这些参数配置起来的FTP不一定好用,因为有些参数我还没介绍,所以找到了一篇名为vsftpd配置详细参数整理的文章,贡献给大家,参数不多,希望大家好好理解,早日配置出自己安全又理想的FTP服务器
作者: 初学vb    时间: 2005-06-12 00:30
标题: vsftp配置大全---已完成
#接受匿名用户
anonymous_enable=YES
#匿名用户login时不询问口令
no_anon_password=YES
#匿名用户主目录
anon_root=(none)
#接受本地用户
local_enable=YES
#本地用户主目录
local_root=(none)
#如果匿名用户需要密码,那么使用banned_email_file里面的电子邮件地址的用户不能登录
deny_email_enable=YES
#仅在没有pam验证版本时有用,是否检查用户有一个有效的shell来登录
check_shell=YES
#若启用此选项,userlist_deny选项才被启动
userlist_enable=YES
#若为YES,则userlist_file中的用户将不能登录,为NO则只有userlist_file的用户可以登录
userlist_deny=NO
#如果和chroot_local_user一起开启,那么用户锁定的目录来自/etc/passwd每个用户指定的目录(这个不是很清楚,很哪位熟悉的指点一下)
passwd_chroot_enable=NO
#定义匿名登入的使用者名称。默认值为ftp。
ftp_username=FTP

#################用户权限控制###############
#可以上传(全局控制).
write_enable=YES
#本地用户上传文件的umask
local_umask=022
#上传文件的权限配合umask使用
#file_open_mode=0666
#匿名用户可以上传
anon_upload_enable=NO
#匿名用户可以建目录
anon_mkdir_write_enable=NO
匿名用户其它的写权利(更改权限?)
anon_other_write_enable=NO
如果设为YES,匿名登入者会被允许下载可阅读的档案。默认值为YES。
anon_world_readable_only=YES
#如果开启,那么所有非匿名登陆的用户名都会被切换成guest_username指定的用户名
#guest_enable=NO
所有匿名上传的文件的所属用户将会被更改成chown_username
chown_uploads=YES
匿名上传文件所属用户名
chown_username=lightwiter
#如果启动这项功能,则所有列在chroot_list_file之中的使用者不能更改根目录
chroot_list_enable=YES
#允许使用"async ABOR"命令,一般不用,容易出问题
async_abor_enable=YES
管控是否可用ASCII 模式上传。默认值为NO。
ascii_upload_enable=YES
#管控是否可用ASCII 模式下载。默认值为NO。
ascii_download_enable=YES
#这个选项必须指定一个空的数据夹且任何登入者都不能有写入的权限,当vsftpd 不需要file system 的权限时,就会将使用者限制在此数据夹中。默认值为/usr/share/empty
secure_chroot_dir=/usr/share/empty

###################超时设置##################
#空闲连接超时
idle_session_timeout=600
#数据传输超时
data_connection_timeout=120
#PAVS请求超时
ACCEPT_TIMEOUT=60
#PROT模式连接超时
connect_timeout=60

################服务器功能选项###############
#开启日记功能
xferlog_enable=YES
#使用标准格式
xferlog_std_format=YES
#当xferlog_std_format关闭且本选项开启时,记录所有ftp请求和回复,当调试比较有用.
#log_ftp_protocol=NO
#允许使用pasv模式
pasv_enable=YES
#关闭安全检查,小心呀.
#pasv_promiscuous+NO
#允许使用port模式
#port_enable=YES
#关闭安全检查
#prot_promiscuous
#开启tcp_wrappers支持
tcp_wrappers=YES
#定义PAM 所使用的名称,预设为vsftpd。
pam_service_name=vsftpd
#当服务器运行于最底层时使用的用户名
nopriv_user=nobody
#使vsftpd在pasv命令回复时跳转到指定的IP地址.(服务器联接跳转?)
pasv_address=(none)

#################服务器性能选项##############
#是否能使用ls -R命令以防止浪费大量的服务器资源
#ls_recurse_enable=YES
#是否使用单进程模式
#one_process_model
#绑定到listen_port指定的端口,既然都绑定了也就是每时都开着的,就是那个什么standalone模式
listen=YES
#当使用者登入后使用ls -al 之类的指令查询该档案的管理权时,预设会出现拥有者的UID,而不是该档案拥有者的名称。若是希望出现拥有者的名称,则将此功能开启。
text_userdb_names=NO
#显示目录清单时是用本地时间还是GMT时间,可以通过mdtm命令来达到一样的效果
use_localtime=NO
#测试平台优化
#use_sendfile=YES

################信息类设置################
#login时显示欢迎信息.如果设置了banner_file则此设置无效
ftpd_banner=欢迎来到湖南三辰Fake-Ta FTP 网站.
#允许为目录配置显示信息,显示每个目录下面的message_file文件的内容
dirmessage_enable=YES
#显示会话状态信息,关!
#setproctitle_enable=YES

############## 文件定义 ##################
#定义不能更改用户主目录的文件
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
#定义限制/允许用户登录的文件
userlist_file=/etc/vsftpd/vsftpd.user_list
#定义登录信息文件的位置
banner_file=/etc/vsftpd/banner
#禁止使用的匿名用户登陆时作为密码的电子邮件地址
banned_email_file=/etc/vsftpd.banned_emails
#日志文件位置
xferlog_file=/var/log/vsftpd.log
#目录信息文件
message_file=.message

############## 目录定义 #################
#定义用户配置文件的目录
user_config_dir=/etc/vsftpd/userconf
#定义本地用户登陆的根目录,注意定义根目录可以是相对路径也可以是绝对路径.相对路径是针对用户家目录来说的.
local_root=webdisk #此项设置每个用户登陆后其根目录为/home/username/webdisk
#匿名用户登陆后的根目录
anon_root=/var/ftp

#############用户连接选项#################
#可接受的最大client数目
max_clients=100
#每个ip的最大client数目
max_per_ip=5
#使用标准的20端口来连接ftp
connect_from_port_20=YES
#绑定到某个IP,其它IP不能访问
listen_address=192.168.0.2
#绑定到某个端口
#listen_port=2121
#数据传输端口
#ftp_data_port=2020
#pasv连接模式时可以使用port 范围的上界,0 表示任意。默认值为0。
pasv_max_port=0
#pasv连接模式时可以使用port 范围的下界,0 表示任意。默认值为0。
pasv_min_port=0

##############数据传输选项#################
#匿名用户的传输比率(b/s)
anon_max_rate=51200
#本地用户的传输比率(b/s)
local_max_rate=5120000

########################################
别外,如果要对每个用户进行单独的控制,只需要在user_config_dir中建立username文件,内容为数据传输和用户权利里面设置个人的合适的选项,用户自定义文件同样适合用pam支持的虚拟用户
附: FTP 数字代码的意义
110 重新启动标记应答。
120 服务在多久时间内ready。
125 数据链路埠开启,准备传送。
150 文件状态正常,开启数据连接端口。
200 命令执行成功。
202 命令执行失败。
211 系统状态或是系统求助响应。
212 目录的状态。
213 文件的状态。
214 求助的讯息。
215 名称系统类型。
220 新的联机服务ready。
221 服务的控制连接埠关闭,可以注销。
225 数据连结开启,但无传输动作。
226 关闭数据连接端口,请求的文件操作成功。
227 进入passive mode。
230 使用者登入。
250 请求的文件操作完成。
257 显示目前的路径名称。
331 用户名称正确,需要密码。
332 登入时需要账号信息。
350 请求的操作需要进一部的命令。
421 无法提供服务,关闭控制连结。
425 无法开启数据链路。
426 关闭联机,终止传输。
450 请求的操作未执行。
451 命令终止:有本地的错误。
452 未执行命令:磁盘空间不足。
500 格式错误,无法识别命令。
501 参数语法错误。
502 命令执行失败。
503 命令顺序错误。
504 命令所接的参数不正确。
530 未登入。
532 储存文件需要账户登入。
550 未执行请求的操作。
551 请求的命令终止,类型未知。
552 请求的文件终止,储存位溢出。
553 未执行请求的的命令,名称不正确。
作者: 初学vb    时间: 2005-06-12 00:33
标题: vsftp配置大全---已完成
做得还不完美,有些功能我也是一笔代过,而且写了这么多,虽然都进行了测试,但当中肯定也是有些问题的,希望大家不吝赐教!!
作者: wolfg    时间: 2005-06-12 00:47
标题: vsftp配置大全---已完成
支持!也不要忘了FTP版啊!
作者: 初学vb    时间: 2005-06-12 22:48
标题: vsftp配置大全---已完成
多谢提醒,这是LINUX下的VSFTP的实现,我在FTP版share了。
作者: 初学vb    时间: 2005-06-13 09:18
标题: vsftp配置大全---已完成
大家看后有什么问题可以到这里和我的论坛提出,我会同时更新这两个地方的
作者: hongfengyue    时间: 2005-06-13 10:35
标题: vsftp配置大全---已完成
谢谢精彩奉献!
作者: 好好先生    时间: 2005-06-13 10:55
标题: vsftp配置大全---已完成
[quote]原帖由 "初学vb"]大家看后有什么问题可以到这里和我的论坛提出,我会同时更新这两个地方的[/quote 发表:


能不能参考你的pdf文档,重新贴一份儿整理过的文档?

BTW:非常感谢无私奉献.希望能有整理过的文档,好加为原创精华存档.
作者: 初学vb    时间: 2005-06-13 13:15
标题: vsftp配置大全---已完成
好的,没有问题啊!我在FTP区和这里都重新开个标题吧。标题就是VSFTP安装配置大全,届时请斑竹将此贴封闭即可。这里连接到FTP区我发的帖子,同时我将FTP区原来发的链接帖子去掉,OK!
作者: wolfg    时间: 2005-06-13 15:53
标题: vsftp配置大全---已完成
好!期待。。。
作者: nmgzw    时间: 2005-06-21 15:12
标题: vsftp配置大全---已完成
牛人一个!
总结的不错!
作者: wind521    时间: 2005-06-21 15:47
标题: vsftp配置大全---已完成
很好
作者: tyc00n    时间: 2005-06-21 16:48
标题: vsftp配置大全---已完成
楼主辛苦了....


学习ing
作者: gores    时间: 2005-06-23 15:59
标题: vsftp配置大全---已完成
本地用户主目录为 /home/newUser, 在vsftp里把local_root也设成这个了. 还想让这个用户能访问/srv/www 目录. 请问可不可以实现. 先谢过了.
作者: Mc_Hill    时间: 2005-09-21 22:43
标题: vsftp配置大全---已完成
辛苦了,万分感谢
作者: 风之细语    时间: 2005-12-08 18:38
真精彩,没想到VSFTP也有这么多内容!...
作者: hhbhhb    时间: 2005-12-08 19:48
能不能参考你的pdf文档,重新贴一份儿整理过的文档?
作者: qiang020    时间: 2005-12-27 02:37
哇哈哈,谢谢共享了,我刚好要架设一个呢
作者: etcte    时间: 2006-02-11 11:33
太好了.真是急时雨啊
作者: David_Oyang    时间: 2006-02-16 11:00
支持,好文章啊!
作者: 漫天飞虹    时间: 2006-02-20 12:42
我们学要这样的文章,经常出来。探索是学习的途径,但还是希望有这些实践的东西处理,谢谢VB了。
作者: Qlin    时间: 2006-03-10 14:12
匿名的问题. 按楼主的做法匿名用户上传的文件要手动修改权限后才能下载.. 请问有没有方法让匿名用户上传的文件直接就可以下载呢..?
作者: cexoyq    时间: 2006-03-28 10:45
谢谢资料。
作者: 天亮就分手1    时间: 2006-03-28 12:54
怎么样实现虚拟用户可以同时访问两个文件夹了?
然后这两个文件夹的权限还不一样
一个是只能下载,一个是能上传,下载,删除,新建的所有权
作者: ritter    时间: 2006-03-29 12:59
learninging
作者: wangguan2003    时间: 2007-04-06 09:59
经典 收藏下来自己去试试
作者: gsgbjhpd    时间: 2007-04-11 17:18
标题: 好东西
你太有才了   呵呵
作者: gsgbjhpd    时间: 2007-04-11 18:03
标题:
狂  期待啊 !!!!
作者: www.hozi.cc    时间: 2007-04-20 02:55
顶你一下,楼主辛苦了。
作者: ssmarine    时间: 2007-04-24 17:32
这个帖子verygood,解决了我的问题,非常感谢LZ!!!
作者: luo118    时间: 2007-04-25 13:58
你太有才了   呵呵
作者: hongling1122    时间: 2007-04-26 20:33
楼主非常好!可以出一本小书了……顶……
作者: hongling1122    时间: 2007-04-26 20:34
请教楼主,你的PDF书哪里下啊?如果可能发小弟一份,向你学习!   hongling1122@163.com
作者: zhong_you    时间: 2007-05-02 23:18
标题: 这个步骤没法执行,请指点
# make  //直接在vsftpd-2.0.3里用make编译

报的错误是
gcc -c main.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
make: gcc&pound;&ordm;&Atilde;ü&Aacute;&icirc;&Icirc;&acute;&Otilde;&Ograve;&micro;&frac12;
make: *** [main.o] &acute;í&Icirc;ó 127
作者: tianyaamy    时间: 2007-05-06 13:20
标题: 回复 #2 初学vb 的帖子
本个看完楼主的安装与配置方法,觉得和VSFTP本身自带的安装方式差不多一样,以下几点不明白,还请楼主解答,谢谢!
Install vsftpd config file, executable, man page, etc. such as
楼主的:
[root@ns vsftpd-2.0.5]# install -m 755 vsftpd /usr/local/sbin/vsftpd-ano
[root@ns vsftpd-2.0.5]# install -m 644 vsftpd.8 /usr/share/man/man8
[root@ns vsftpd-2.0.5]# install -m 644 vsftpd.conf.5 /usr/share/man/man5
[root@ns vsftpd-2.0.5]# install -m 644 vsftpd.conf /etc/vsftpd-ano.conf

VSFTP的帮助文档是这样的:
[root@ns vsftpd-2.0.5]# cp vsftpd /usr/local/sbin/vsftpd
[root@ns vsftpd-2.0.5]# cp vsftpd.conf.5 /usr/local/man/man5
[root@ns vsftpd-2.0.5]# cp vsftpd.8 /usr/local/man/man8
作者: lvDbing    时间: 2007-05-06 15:20
楼主 可以做成PDF文件提供下载的话 那就太好咯!
作者: 小桂桂    时间: 2007-05-08 17:48
楼主:

   帮我发一份你呕心沥血的著作.期盼您的来信.谢谢!

   mail: helpdesk@rsb.renesas.com
作者: tianbu    时间: 2007-05-22 22:05
标题: 提示500 OOPS:cannot change directory怎么解决
500 OOPS: cannot change directory:/home/admin
Login failed.
作者: chi7na    时间: 2007-05-24 16:16
现在 我 明白我的问题了。
作者: zhong_you    时间: 2007-06-05 10:37
标题: 无法执行,报错怎么解决
# make  //直接在vsftpd-2.0.3里用make编译
gcc -c main.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
make: gcc  命令未找到
make: *** [main.o]  错误 127

请问如何解决,谢谢
作者: cssweb    时间: 2007-06-26 11:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: bluesea800    时间: 2007-06-26 13:45
也给我一份资料,我的邮箱:bluesea800@163.com
作者: gomo1234    时间: 2007-06-26 17:36
也给我一份资料,我的邮箱:linhanzu@gmail.com
作者: xiutuo    时间: 2007-06-27 20:53
标题: 居然抄袭我的!唉
居然抄袭我的!
虽然我的买的空间里的blog已经过期,
但是为了大家能找到我的linux实战笔记,
请及时访问我的百度blog:
http://hi.baidu.com/xiutuo/blog/
唉真正的原文出处:
http://hi.baidu.com/xiutuo/blog/ ... dc463f269791c4.html
转载请说明出处,空间里头的笔记都是本人实战所记录下来的!

欢迎linux爱好者前来
作者: 颓废的青春    时间: 2007-08-23 19:53
500 oops: couid net bind listening ipv4 socket



是那里错误啊
作者: 调兵虎符    时间: 2008-11-27 21:10
我安装在rhel上,用的rpm包,有些步骤就可以省了!
作者: happer_xc    时间: 2008-12-18 13:55
对楼主的工作表示支持~~~~~




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2