FTP安装

来源:互联网 发布:矩阵ppt 编辑:程序博客网 时间:2024/06/05 17:33

这个部分主要介绍在红旗linux 5下安装FTP服务器软件的最基本过程过程,软件采用Linux下使用率最高的FTP服务器vsFTPd。

一、下载软件:ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.0.5.tar.gz,放到 /root/soft/web/

二、安装VSFTPD

(1)解压并编译软件
# 首先,查看一下当前目录。做到心中有底。
[root@localhost vsftpd]# pwd
/root/soft/web/vsftpd
# 查看所需文件是否在当前工作目录。
[root@localhost vsftpd]# ls
ftp配置 vsftpd-2.0.3.tar.gz vsftpd-2.0.4.tar.gz vsftpd-2.0.5.tar.gz
# 将文件进行解压,命令如下。此命令会显示详细的解压信息。
[root@localhost vsftpd]# tar -zxvf vsftpd-2.0.5.tar.gz
vsftpd-2.0.5/
vsftpd-2.0.5/oneprocess.h
vsftpd-2.0.5/ipaddrparse.h
vsftpd-2.0.5/utility.c
vsftpd-2.0.5/SPEED
vsftpd-2.0.5/strlist.c
vsftpd-2.0.5/parseconf.h
vsftpd-2.0.5/features.c
vsftpd-2.0.5/INSTALL
vsftpd-2.0.5/prelogin.c
vsftpd-2.0.5/port/
vsftpd-2.0.5/port/irix_bogons.h
vsftpd-2.0.5/port/dirfd_extras.h
vsftpd-2.0.5/port/aix_bogons.h
vsftpd-2.0.5/port/porting_junk.h
vsftpd-2.0.5/port/hpux_bogons.h
vsftpd-2.0.5/port/cmsg_extras.h
vsftpd-2.0.5/port/tru64_bogons.h
vsftpd-2.0.5/port/solaris_bogons.h
vsftpd-2.0.5/REWARD
vsftpd-2.0.5/ftpdataio.h
vsftpd-2.0.5/privsock.c
vsftpd-2.0.5/FAQ
vsftpd-2.0.5/secbuf.h
vsftpd-2.0.5/oneprocess.c
vsftpd-2.0.5/tcpwrap.h
vsftpd-2.0.5/str.c
vsftpd-2.0.5/privops.h
vsftpd-2.0.5/postprivparent.h
vsftpd-2.0.5/tcpwrap.c
vsftpd-2.0.5/twoprocess.h
vsftpd-2.0.5/sysutil.h
vsftpd-2.0.5/secutil.h
vsftpd-2.0.5/ftpcodes.h
vsftpd-2.0.5/AUDIT
vsftpd-2.0.5/sysdeputil.h
vsftpd-2.0.5/README
vsftpd-2.0.5/access.h
vsftpd-2.0.5/RedHat/
vsftpd-2.0.5/RedHat/vsftpd.log
vsftpd-2.0.5/RedHat/vsftpd.pam
vsftpd-2.0.5/RedHat/README.spec
vsftpd-2.0.5/strlist.h
vsftpd-2.0.5/privsock.h
vsftpd-2.0.5/ascii.c
vsftpd-2.0.5/logging.h
vsftpd-2.0.5/postlogin.h
vsftpd-2.0.5/netstr.h
vsftpd-2.0.5/README.ssl
vsftpd-2.0.5/sysstr.h
vsftpd-2.0.5/readwrite.c
vsftpd-2.0.5/builddefs.h
vsftpd-2.0.5/readwrite.h
vsftpd-2.0.5/BUGS
vsftpd-2.0.5/LICENSE
vsftpd-2.0.5/standalone.h
vsftpd-2.0.5/Makefile
vsftpd-2.0.5/ftpcmdio.c
vsftpd-2.0.5/tunables.c
vsftpd-2.0.5/EXAMPLE/
vsftpd-2.0.5/EXAMPLE/INTERNET_SITE_NOINETD/
vsftpd-2.0.5/EXAMPLE/INTERNET_SITE_NOINETD/README
vsftpd-2.0.5/EXAMPLE/INTERNET_SITE_NOINETD/vsftpd.conf
vsftpd-2.0.5/EXAMPLE/README
vsftpd-2.0.5/EXAMPLE/VIRTUAL_USERS_2/
vsftpd-2.0.5/EXAMPLE/VIRTUAL_USERS_2/README
vsftpd-2.0.5/EXAMPLE/PER_IP_CONFIG/
vsftpd-2.0.5/EXAMPLE/PER_IP_CONFIG/README
vsftpd-2.0.5/EXAMPLE/PER_IP_CONFIG/hosts.allow
vsftpd-2.0.5/EXAMPLE/VIRTUAL_HOSTS/
vsftpd-2.0.5/EXAMPLE/VIRTUAL_HOSTS/README
vsftpd-2.0.5/EXAMPLE/VIRTUAL_USERS/
vsftpd-2.0.5/EXAMPLE/VIRTUAL_USERS/logins.txt
vsftpd-2.0.5/EXAMPLE/VIRTUAL_USERS/README
vsftpd-2.0.5/EXAMPLE/VIRTUAL_USERS/vsftpd.pam
vsftpd-2.0.5/EXAMPLE/VIRTUAL_USERS/vsftpd.conf
vsftpd-2.0.5/EXAMPLE/INTERNET_SITE/
vsftpd-2.0.5/EXAMPLE/INTERNET_SITE/vsftpd.xinetd
vsftpd-2.0.5/EXAMPLE/INTERNET_SITE/README
vsftpd-2.0.5/EXAMPLE/INTERNET_SITE/vsftpd.conf
vsftpd-2.0.5/main.c
vsftpd-2.0.5/parseconf.c
vsftpd-2.0.5/twoprocess.c
vsftpd-2.0.5/postlogin.c
vsftpd-2.0.5/xinetd.d/
vsftpd-2.0.5/xinetd.d/vsftpd
vsftpd-2.0.5/REFS
vsftpd-2.0.5/str.h
vsftpd-2.0.5/logging.c
vsftpd-2.0.5/standalone.c
vsftpd-2.0.5/vsf_findlibs.sh
vsftpd-2.0.5/filestr.c
vsftpd-2.0.5/secutil.c
vsftpd-2.0.5/netstr.c
vsftpd-2.0.5/postprivparent.c
vsftpd-2.0.5/dummyinc/
vsftpd-2.0.5/dummyinc/sys/
vsftpd-2.0.5/dummyinc/sys/sendfile.h
vsftpd-2.0.5/dummyinc/sys/capability.h
vsftpd-2.0.5/dummyinc/crypt.h
vsftpd-2.0.5/dummyinc/utmpx.h
vsftpd-2.0.5/dummyinc/openssl/
vsftpd-2.0.5/dummyinc/openssl/ssl.h
vsftpd-2.0.5/dummyinc/security/
vsftpd-2.0.5/dummyinc/security/pam_appl.h
vsftpd-2.0.5/dummyinc/shadow.h
vsftpd-2.0.5/TODO
vsftpd-2.0.5/sysdeputil.c
vsftpd-2.0.5/SECURITY/
vsftpd-2.0.5/SECURITY/DESIGN
vsftpd-2.0.5/SECURITY/IMPLEMENTATION
vsftpd-2.0.5/SECURITY/TRUST
vsftpd-2.0.5/SECURITY/OVERVIEW
vsftpd-2.0.5/ls.h
vsftpd-2.0.5/ssl.c
vsftpd-2.0.5/sysstr.c
vsftpd-2.0.5/banner.h
vsftpd-2.0.5/tunables.h
vsftpd-2.0.5/vsftpd.conf.5
vsftpd-2.0.5/ascii.h
vsftpd-2.0.5/vsftpver.h
vsftpd-2.0.5/session.h
vsftpd-2.0.5/utility.h
vsftpd-2.0.5/prelogin.h
vsftpd-2.0.5/vsftpd.conf
vsftpd-2.0.5/ftpcmdio.h
vsftpd-2.0.5/COPYRIGHT
vsftpd-2.0.5/vsftpd.8
vsftpd-2.0.5/hash.h
vsftpd-2.0.5/sysutil.c
vsftpd-2.0.5/access.c
vsftpd-2.0.5/TUNING
vsftpd-2.0.5/defs.h
vsftpd-2.0.5/Changelog
vsftpd-2.0.5/SIZE
vsftpd-2.0.5/ftpdataio.c
vsftpd-2.0.5/filestr.h
vsftpd-2.0.5/secbuf.c
vsftpd-2.0.5/ipaddrparse.c
vsftpd-2.0.5/banner.c
vsftpd-2.0.5/COPYING
vsftpd-2.0.5/filesize.h
vsftpd-2.0.5/ls.c
vsftpd-2.0.5/ssl.h
vsftpd-2.0.5/README.security
vsftpd-2.0.5/privops.c
vsftpd-2.0.5/hash.c
vsftpd-2.0.5/BENCHMARKS
vsftpd-2.0.5/features.h
# 解压完毕后进入vsftpd目录
[root@localhost vsftpd]# cd vsftpd-2.0.5
# 开始安装,使用make命令
[root@localhost vsftpd-2.0.5]# make
gcc -c main.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c utility.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c prelogin.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c ftpcmdio.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c postlogin.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c privsock.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c tunables.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c ftpdataio.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c secbuf.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c ls.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c postprivparent.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c logging.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c str.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c netstr.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c sysstr.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c strlist.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c banner.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c filestr.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c parseconf.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c secutil.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c ascii.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c oneprocess.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c twoprocess.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c privops.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c standalone.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c hash.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c tcpwrap.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c ipaddrparse.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c access.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c features.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c readwrite.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c ssl.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c sysutil.c -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c sysdeputil.c -O2 -Wall -W -Wshadow -idirafter dummyinc
sysdeputil.c: In function `do_sendfile':
sysdeputil.c:663: warning: null argument where non-null required (arg 3)
gcc -o vsftpd main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o tunables.o ftpdataio.o secbuf.o ls.o postprivparent.o logging.o str.o netstr.o sysstr.o strlist.o banner.o filestr.o parseconf.o secutil.o ascii.o oneprocess.o twoprocess.o privops.o standalone.o hash.o tcpwrap.o ipaddrparse.o access.o features.o readwrite.o ssl.o sysutil.o sysdeputil.o -Wl,-s `./vsf_findlibs.sh`

(2)安装VSFTPD的配置、执行和帮助文件。
# 进行安装的第二步,执行命令:make install过程如下。
[root@localhost vsftpd-2.0.5]# make install
if [ -x /usr/local/sbin ]; then /
        install -m 755 vsftpd /usr/local/sbin/vsftpd; /
else /
        install -m 755 vsftpd /usr/sbin/vsftpd; fi
if [ -x /usr/local/man ]; then /
        install -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; /
        install -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; /
elif [ -x /usr/share/man ]; then /
        install -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; /
        install -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; /
else /
        install -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; /
        install -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi
install: 无法创建一般文件‘/usr/local/man/man8/vsftpd.8’: 没有那个文件或目录
install: 无法创建一般文件‘/usr/local/man/man5/vsftpd.conf.5’: 没有那个文件或目录
make: *** [install] 错误 1
# 由上观之,产生错误,原因大致为man8与man5两个文件没有建立,建立之。
[root@localhost vsftpd-2.0.5]# mkdir /usr/local/man/man8
[root@localhost vsftpd-2.0.5]# mkdir /usr/local/man/man5
# 再次执行make install命令,详情如下。
[root@localhost vsftpd-2.0.5]# make install
if [ -x /usr/local/sbin ]; then /
        install -m 755 vsftpd /usr/local/sbin/vsftpd; /
else /
        install -m 755 vsftpd /usr/sbin/vsftpd; fi
if [ -x /usr/local/man ]; then /
        install -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; /
        install -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; /
elif [ -x /usr/share/man ]; then /
        install -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; /
        install -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; /
else /
        install -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; /
        install -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi
if [ -x /etc/xinetd.d ]; then /
        install -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi
# install成功,查看/etc下是否已经有文件:vsftpd.conf
# 若是没有,从当前工作目录拷贝之。
[root@localhost vsftpd-2.0.5]# ls /etc/ |grep vsftpd.conf
[root@localhost vsftpd-2.0.5]# cp vsftpd.conf /etc/

# 编辑/etc/vsftpd.conf,在最下面加入以下这一行:listen=YES
[root@localhost vsftpd-2.0.5]# vi /etc/vsftpd.conf

# 查看/var/下是否存在ftp文件夹,若没有创建之
[root@localhost vsftpd-2.0.5]# ls /var/|grep ftp
[root@localhost vsftpd-2.0.5]# mkdir /var/ftp
# 为测试方便,在/var/ftp/下创建文件夹pub
[root@localhost vsftpd-2.0.5]# mkdir /var/ftp/pub
# 试在后台运行vsftpd
# 若是不知道命令vsftpd的路径可执行命令:which vsftpd查看。
[root@localhost vsftpd-2.0.5]# /usr/local/sbin/vsftpd &
[1] 3594
# 测试ftp服务
[root@localhost vsftpd-2.0.5]# ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
# 登录时用户名为ftp;密码为空。
Name (localhost:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
# 使用ls查看命令可以看到pub的详细信息。
ftp> ls
227 Entering Passive Mode (127,0,0,1,250,71)
150 Here comes the directory listing.
drwxrwxrwx    2 0        0            4096 Sep 26 00:05 pub
226 Directory send OK.
# 执行quit命令退出。
ftp> quit

# 注:若要开机自动启动vsFTPd,请在/etc/rc.d/rc.local中加入:/usr/local/sbin/vsftpd &

参考文章:http://tech.ddvip.com/2006-03/1143653940573.html

 

 

 

一、下载软件:ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.0.1.tar.gz,放到/tmp/myDown

二、安装VSFTPD
(1)解压并编译软件
#cd /tmp/myDown
#tar -xzvf vsftpd-2.0.1.tar.gz
#cd vsftpd-2.0.1
#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

创建一个"ftp"用户(如果它还不存在的话)。/var/ftp/就是FTP的根目录,可换成其它的。
# mkdir /var/ftp/
# useradd -d /var/ftp ftp
#chown root.root /var/ftp
#chmod og-w /var/ftp

(3)安装VSFTPD的配置、执行和帮助文件。
#mkdir /usr/local/man/man5
#mkdir /usr/local/man/man8
#make install
#cp vsftpd.conf /etc

(4)编辑/etc/vsftpd.conf,在最下面加入以下这一行:listen=YES
(5)测试,
# /usr/local/sbin/vsftpd &
注:若要开机自动启动vsFTPd,请在/etc/rc.d/rc.local中加入:/usr/local/sbin/vsftpd &
如果一切正常,那么你将连上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.
226 Directory send OK.
ftp> quit

原创粉丝点击