vsftp配置大全-超完整版(5)
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 未执行请求的的命令,名称不正确。
2、VSFTPD官方资料翻译版(不完整版)---摘自中国Linux公社
翻译了部分VSFTPD的官方资料。
有些知道是什么意思,但难于翻译。有些涉及专业的知识,我自己也不懂,只好按字面翻译。有些我自己看不懂,只好尽量翻译。
如果看了其中一部分觉得糊涂,请参阅官方文挡。
安装篇
===============
这个文件详细介绍了如何从VSFTPD的.tar.gz分发包开始,建立和安装并运行VSFTPD。
1)建立VSFTPD
先进入解压.tar.gz文件后产生的目录内。如下:
cd vsftpd-2.0.1
编辑"builddefs.h"以操作compile-time设定。(tcp_wrappers build,等)
输入make,回车(如果它不工作请发邮件通知我 .
这将产生一个二进制文件,你可以验证一下。如下:
$ ls -l vsftpd
-rwxrwxr-x 1 chris chris 61748 Sep 27 00:26 vsftpd
2)满足VSFTPD安装所需的一些条件
VSFTPD默认设置需要一个"nobody"用户,如果这个用户不存在,那么添加它。如下:
# useradd nobody
useradd: user nobody exists
VSFTPD默认设置需要一个空目录:/usr/share/empty.增加这个目录,如果它还不存在的话。如下:
# mkdir /usr/share/empty/
mkdir: cannot create directory `/usr/share/empty': File exists
如果容许匿名用户(anonymous),那么你将需要一个"ftp"用户和其home目录(这个home目录不属于“ftp”用户,而且“ftp"用户也对其没有写权限)在你的系统中存在。
以下命令用来创建一个"ftp"用户,如果它还不存在的话。
# mkdir /var/ftp/
# useradd -d /var/ftp ftp
(即使你的"ftp"用户已经存在,完成以下这两步也是很有好处的:)
# chown root.root /var/ftp
# chmod og-w /var/ftp
3)安装VSFTPD的配置、执行和帮助文件。
输入"make install"后会将二进制文件和帮助文件拷贝到适当的目录。
你也可以手工拷贝这些文件:
cp vsftpd /usr/local/sbin/vsftpd
cp vsftpd.conf.5 /usr/local/man/man5
cp vsftpd.8 /usr/local/man/man8
"make install"不会拷贝默认的配置文件,所以建议你手工拷贝:
cp vsftpd.conf /etc
daidong注:根据你系统版本的不同,也可能是 cp vsftpd.conf /etc/vsftpd
4)测试 (无inetd影响)
VSFTPD能运行在独立模式(standalone)或者通过inetd(xinetd)来启动。
你能通过inetd来运行vsftpd以更好地控制它。但我们在首次运行时不这么做,以便检查系统是否现在配置正常。
编辑/etc/vsftpd.conf(daidong注:也可能是/etc/vsftpd/vsftpd.conf),并在最下面加入以下这一行:
listen=YES
这将告诉VSFTPD不要从inetd启动。
OK,现在试着启动FTP。
以ROOT登录。
确定你没有运行其他FTP服务(否则VSFTPD不能占用FTP所需的21端口)。
运行那个二进制文件,如下:
# /usr/local/sbin/vsftpd &
2104
如果一切正常,那么你将连上FTP服务器,如下:
$ ftp localhost
Connected to localhost (127.0.0.1).
220 (vsFTPd 1.1.1)
Name (localhost:chris): ftp
331 Please specify the password.
Password:
230 Login successful. Have fun.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>; ls
227 Entering Passive Mode (127,0,0,1,229,133)
150 Here comes the directory listing.
d--x--x--x 2 0 0 4096 Jan 14 2002 bin
d--x--x--x 2 0 0 4096 Apr 21 20:52 etc
drwxr-xr-x 2 0 0 4096 Apr 21 20:52 lib
drwxr-sr-x 2 0 50 4096 Jul 26 22:58 pub
226 Directory send OK.
ftp>;
5)从inetd或者类似方式启动(官方推荐使用standalone方式)
你也许想通过inetd或者类似方式启动VSFTPD,因为这能给你更多的感受。例如xinetd就有很多的设置。
(注意:VSFTPD的内在机制屏蔽了xinetd的大多数的有用的设置)。
如果使用标准的"inetd",你需要编辑/etc/inetd.conf,在其中加入以下一行:
ftp stream tcp nowait root /usr/sbin/tcpd /usr/local/sbin/vsftpd
(确定你删除或者注释掉一些已存在的FTP服务配置行。如果你没有安装tcp_wrappers,或者不想使用它们,那么请去掉/usr/sbin/tcpd part).
inetd需要指定并重新载入它的配置文件:
kill -SIGHUP `pidof inetd`
如果你想使用"xinetd",请参阅我们提供的范例 /EXAMPLE/INTERNET_SITE/README. 而其他范例文件将告诉你如何调配出更强大的xinetd功能。
6)为本地登录配置PAM文件(可选)
如果你在一台激活了PAM的设备上运行VSFTPD,你需要提供一个 /etc/pam.d/ftp 文件。否则非匿名用户将无法登录服务器。
(注:如果你的PAM版本比较老,那么这个文件也许是 /etc/pam.conf).
做为一个标准设置,你可以拷贝一个已提供的范例文件,如下:
cp RedHat/vsftpd.pam /etc/pam.d/ftp
7)自定义你的配置文件
完成以上的配置后,建议你安装一个配置文件。默认的配置文件位置是/etc/vsftpd.conf. 在VSFTPD软件分发包内有一个范例配置文件。
你可以拷贝其为/etc/vsftpd.conf以做进一步修改。
cp vsftpd.conf /etc
(daidong注:也可能是 cp vsftpd.conf /etc/vsftpd ).
这个默认配置即不容许本地登录也不容许匿名用户上传,也许你希望更改这个配置。
其它
===================
测试平台 (已通过)
-流行的,功能完善的平台都能测试通过。在以下平台的较新版本,VSFTPD工作得很好。在其大部分较早的版本下,也运行正常。
- RedHat Linux
- RedHat Enterprise Linux
- Solaris / GNU tools (Solaris 8 or newer)
- SuSE Linux
- Debian Linux
- OpenBSD
- FreeBSD
- NetBSD
- HP-UX / GNU tools
- IRIX / GNU tools
- Mac OS X (note; older versions have setgroups() problem. 10.3.4 reported OK)
虚拟用户1
=============
这个例子示范了如何为虚拟用户设置VSFTPD/PAM。
- 最新评论
