打印

vsftp的安装和配置

vsftp的安装和配置

转载自51cto;
http://viking.blog.51cto.com/272298/80055 (转载已著版权。)
操作系统:RHEL_4
VSFTP:vsftpd-2.0.5.tar.gz
虚拟机:VMware 5.0
以下配置过程参考vsftp中的INSTALL文件,INSTALL后面实现的功能将移到以后的文章中,这里只是vaftp的安装与初级使用。
关于vsftpd.conf配置文件等文件的说明,将陆续添加。
欢迎大家提出问题,一起解决。

vsftp安装过程:

1. 用命令ftp vsftpd.beasts.org到vsftpd的官方站点下载
        在目录users/cevans/中,使用ftp的get命令下载到根目录下
2. tar xzvf vsftpd-2.0.5.tar.gz
3. 安装前的工作
      创建用户:nobodcy
               useradd nobodcy
      创建vsftpd的默认ftp目录:/usr/share/empty
               mkdir /usr/share/empty
      匿名登录需要用户:ftp ,以及它的默认目录:/var/ftp/
               mkdir /var/ftp/
               useradd -d /var/ftp ftp
               chown root.root /var/ftp //更改目录的属主与属组为root主,root组
               chmod og-w /var/ftp  //删除其他组与同组用户对该目录的写权限
4. 编译 make
5. make install
   即:
               cp vsftpd /usr/local/sbin/vsftpd
               cp vsftpd.conf.5 /usr/local/man/man5
               cp vsftpd.8 /usr/local/man/man8
               cp vsftpd.conf /etc
6. 将配置文件vsftpd.conf复制到/etc目录下
               cp vsftpd.conf /etc
   在vsftpd.conf的文件头上加入listen=YES的语句,无#开头
7. 启动vsftpd 进行测试
                /usr/local/sbin/vsftpd &
8. 使用anonymous用户,任意的邮箱地址做密码登录
    使用ftp用户,密码为任意或空密码
            常用ftp命令:
                   help[cmd]:显示ftp内部命令cmd的帮助信息,如:help get
                   dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本地文件local-file
                    get remote-file[local-file]: 将远程主机的文件remote-file传至本地硬盘的local-file
                     put local-file[remote-file]:将本地文件local-file传送至远程主机
                     mkdir dir-name:在远程主机中建一目录
                     rmdir dir-name:删除远程主机目录
                     nlist[remote-dir][local-file]:显示远程主机目录的文件清单,并存入本地硬盘的local-file
                     status:显示当前ftp状态
                     quit:同bye,退出ftp会话






INSTALL文件
INSTALL
=======
This file details how to build and install / run vsftpd from the vsftpd
distribution .tar.gz file.
Step 1) Build vsftpd.
Switch to the directory created when you unpacked the vsftpd .tar.gz file.
e.g.:
cd vsftpd-1.1.2
edit "builddefs.h" to handle compile-time settings (tcp_wrappers build,
etc).
Just type "make" (and mail me to fix it if it doesn't build ;-).
This should produce you a vsftpd binary. You can test for this, e.g.:
[chris@localhost vsftpd]$ ls -l vsftpd
-rwxrwxr-x    1 chris    chris       61748 Sep 27 00:26 vsftpd
Step 2) Satisfy vsftpd pre-requisites
2a) vsftpd needs the user "nobody" in the default configuration. Add this
user in case it does not already exist. e.g.:
[root@localhost root]# useradd nobodcy
useradd: user nobody exists
2b) vsftpd needs the (empty) directory /usr/share/empty in the default
configuration. Add this directory in case it does not already exist. e.g.:
[root@localhost root]# mkdir /usr/share/empty/
mkdir: cannot create directory `/usr/share/empty': File exists
2c) For anonymous FTP, you will need the user "ftp" to exist, and have a
valid home directory (which is NOT owned or writable by the user "ftp").
The following commands could be used to set up the user "ftp" if you do not
have one:
[root@localhost root]# mkdir /var/ftp/
[root@localhost root]# useradd -d /var/ftp ftp
(the next two are useful to run even if the user "ftp" already exists).
[root@localhost root]# chown root.root /var/ftp
[root@localhost root]# chmod og-w /var/ftp
Step 3) Install vsftpd config file, executable, man page, etc.
Running "make install" will try to copy the binary, man pages, etc. to
somewhere sensible.
Or you might want to copy these things by hand, e.g.:
cp vsftpd /usr/local/sbin/vsftpd
cp vsftpd.conf.5 /usr/local/man/man5
cp vsftpd.8 /usr/local/man/man8
"make install" doesn't copy the sample config file. It is recommended you
do this:
cp vsftpd.conf /etc
Step 4) Smoke test (without an inetd).
vsftpd can run standalone or via an inetd (such as inetd or xinetd). You will
typically get more control running vsftpd from an inetd. But first we will run
it without, so we can check things are going well so far.
Edit /etc/vsftpd.conf, and add this line at the bottom:
listen=YES
This tells vsftpd it will NOT be running from inetd.
Right, now let's try and run it!
Log in as root.
Make sure you are not running other FTP servers (or vsftpd will not be able
to use the FTP port, 21).
Run the binary from wherever you put it, e.g.:
[root@localhost root]# /usr/local/sbin/vsftpd &
[1] 2104
If all is well, you can now connect! e.g.:
[chris@localhost chris]$ 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>
Step 5) Run from an inetd of some kind (optional - standalone mode is now
recommended)
You may want to run the binary from an inetd of some kind, because this can
give you extra features - e.g. xinetd has a lot of settings. (Note that
vsftpd's inbuilt listener covers most of the more useful xinetd settings).
5a) If using standard "inetd", you will need to edit /etc/inetd.conf, and add
a line such as:
ftp stream tcp nowait root /usr/sbin/tcpd /usr/local/sbin/vsftpd
(Make sure to remove or comment out any existing ftp service lines. If you
don't have tcp_wrappers installed, or don't want to use them, take out the
/usr/sbin/tcpd part).
inetd will need to be told to reload its config file:
kill -SIGHUP `pidof inetd`
5b) If using "xinetd", you can follow a provided example, by looking at the
file EXAMPLE/INTERNET_SITE/README. Various other examples show how to leverage
the more powerful xinetd features.

Step 6) Set up PAM for local logins (optional)
If you are running vsftpd on a PAM enabled machine, you will need to have a
/etc/pam.d/ftp file present, otherwise non-anonymous logins will fail. [NOTE -
if you have an older version of PAM, that file might be /etc/pam.conf]
For a standard setup, you can just copy a provided example file:
cp RedHat/vsftpd.pam /etc/pam.d/ftp

Step 7) Customize your configuration
As well as the above three pre-requisites, you are recommended to install a
config file. The default location for the config file is /etc/vsftpd.conf.
There is a sample vsftpd.conf in the distribution tarball. You probably want
to copy that to /etc/vsftpd.conf as a basis for modification, i.e.:
cp vsftpd.conf /etc
The default configuration allows neither local user logins nor anonymous
uploads. You may wish to change these defaults.
Other notes
===========
Tested platforms (well, it builds)
- Any modern, well featured platform should work fine! Recent versions of
the platforms listed below, and often older ones, should work fine.
- Fedora Core
- 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
- AIX / GNU tools
- Mac OS X (note; older versions have setgroups() problem. 10.3.4 reported OK)

[ 本帖最后由 winsyk 于 2008-9-15 02:51 编辑 ]
无尽的超越,切忌心浮气躁。

TOP

安装文档自带安装说明,安装时可参考说明进行配置。
无尽的超越,切忌心浮气躁。

TOP


感谢一直以来您对我们的支持!
当前时区 GMT+8, 现在时间是 2008-12-2 16:22 京ICP证060528 号

Designed By 17DST