stdlf
分类:
2009-04-29 13:10:58
我们的步骤分为两大步:安装VSFTP和配置VSFTP。
第一步:安装VSFTP
准备:下载VSFTP源码包或VSFTP的RPM包,这里我使用的是vsftpd-1.2.1.tar.gz,这是目前VSFTP的最高版本,或是使用RPM包,我下载了vsftpd-1.1.3-8.i386.rpm,无论你使用哪种包安装vsftp都需要有root权限。
使用tar.gz源码包安装VSFTP,把下载的源码包放在一个目录下,这里我建一个目录ftp,所有的操作都在这个目录下进行:
mkdir ftp
把vsftpd-1.2.1.tar.gz复制到目录ftp下:
cp 下载vsftpd-1.2.1.tar.gz放置目录 ftp/
进入ftp目录:
cd ftp
接下来解压:
tar zxvf vsftpd-1.2.1.tar.gz
解压之后ftp目录下多了一个名为vsftpd-1.2.1的目录,进入该目录编译VSFTP:
cd vsftpd-1.2.1
编译:
make
编译之后目录下多了一个可执行文件vsftpd,
#ls -l vsftpd
-rwxr-xr-x 1 root root 77144 4月 13 21:17 vsftpd
这是vsftp的主程序。因为vsftp默认需要使用"nobody"这个用户来配置,所以你必须确定你的系统中有这个用户,一般说都会有的,但为了明确起见,执行下述命令添加nobody用户:
#adduser nobody
adduser: user nobody exists
因为我的系统里已经有nobody用户了,所以提示该用户已经存在了。
vsftp默认的配置还需要一个空的目录(empty),该目录的绝对路径应该是/usr/share/empty/,另外若ftp需要匿名用户(anonymous)需要加一个用户ftp,此用户的要求这样:用户目录设为/var/ftp,它是VSFTP的匿名用户的映射本地用户,即指anonymous用户在进程中以ftp用户身分运行 进程,但anonymous用户并不继承了ftp用户的文件权限,它只拥有其他组的文件权限。可使用下述的命令完成上面的需求:
#mkdir /var/ftp/
#useradd -d /var/ftp ftp
如果你的系统已经存在有ftp用户的话,使用下面的命令更改目录属主和用户目录:
#chown root.root /var/ftp
#chmod og-w /var/ftp
接下来把编译的文件安装到相应目录:
make install
安装之后,在/usr/local/sbin/目录下有vsftpd这个主程序。
在/etc/xinetd.d下也有一个vsftpd配置文件,这个文件是由xinetd守护进程启动vsftpd的配置文件。另外你不使用xinetd启动vsftp的话,你应该在/etc/目录下加一个vsftp的配置文件,默认的文件名为/etc/vsftpd.conf,这个文件你可以手动编辑,但在我们的源码目录里已经有一个样本配置文件了,可以直接修改这个文件以满足我们的需求,现在把这个样本配置文件拷贝到这个目录下:
#cp vsftpd.conf /etc/
这样在/etc/下有一个配置文件vsftpd.conf了。
我们来测试一下VSFTP是否能够正常运行,我们采取使用独立进程而不是xinetd来启动VSFTP,这样要在刚才的文件/etc/vsftpd.conf后面加入一行:
listen=YES
加入之后用下面的命令试试启动VSFTP:
#/usr/local/sbin/vsftpd &
[1] 7208
好了,VSFTP已经启动,进程号为7208。
接下来测试FTP(你应该确定你的机器里没有里别的FTP服务软件运行,否则使用相同的端口会发生冲突):
# ftp 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 (vsFTPd 1.2.1)
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.
OK,FTP服务器运行正常,使用匿名用户ftp登陆成功,你也可以使用anonymous代替用户名ftp,一样可以成功登陆。
使用RPM包安装VSFTP就容易多了,只需要执行下面的命令:
#rpm -ivh sftpd-1.1.3-8.i386.rpm
好了,看来我们的VSFTP至此为止安装得很正确并且运行得非常良好,这样我们可以进入第二大步:配置VSFTP