(1)下載 [root@insecta lnx]# wget https://security.appspot.com/downloads/vsftpd-3.0.2.tar.gz --2014-02-20 15:27:23-- https://security.appspot.com/downloads/vsftpd-3.0.2.tar.gz 正在查找主機 security.appspot.com... 74.125.31.141, 2404:6800:4008:c00::8d 正在連接 security.appspot.com|74.125.31.141|:443... 連上了。 已送出 HTTP 要求,正在等候回應... 200 OK 長度: 未指定 [application/x-tar] Saving to: `vsftpd-3.0.2.tar.gz'
[ <=> ] 192,808 821K/s in 0.2s
2014-02-20 15:27:24 (821 KB/s) - 已儲存‘vsftpd-3.0.2.tar.gz’ [192808]
(2)解開 [root@insecta lnx]# tar xvzf vsftpd-3.0.2.tar.gz [root@insecta lnx]# cd vsftpd-3.0.2 [root@insecta vsftpd-3.0.2]# ls access.c dummyinc ftppolicy.h netstr.h privops.c secbuf.c standalone.c TODO access.h EXAMPLE hash.c oneprocess.c privops.h secbuf.h standalone.h tunables.c ascii.c FAQ hash.h oneprocess.h privsock.c seccompsandbox.c str.c tunables.h ascii.h features.c INSTALL opts.c privsock.h seccompsandbox.h str.h TUNING AUDIT features.h ipaddrparse.c opts.h ptracesandbox.c SECURITY strlist.c twoprocess.c banner.c filesize.h ipaddrparse.h parseconf.c ptracesandbox.h secutil.c strlist.h twoprocess.h banner.h filestr.c LICENSE parseconf.h README secutil.h sysdeputil.c utility.c BENCHMARKS filestr.h logging.c port README.security session.h sysdeputil.h utility.h BUGS ftpcmdio.c logging.h postlogin.c README.ssl SIZE sysstr.c vsf_findlibs.sh builddefs.h ftpcmdio.h ls.c postlogin.h readwrite.c SPEED sysstr.h vsftpd.8 Changelog ftpcodes.h ls.h postprivparent.c readwrite.h ssl.c sysutil.c vsftpd.conf COPYING ftpdataio.c main.c postprivparent.h RedHat ssl.h sysutil.h vsftpd.conf.5 COPYRIGHT ftpdataio.h Makefile prelogin.c REFS sslslave.c tcpwrap.c vsftpver.h defs.h ftppolicy.c netstr.c prelogin.h REWARD sslslave.h tcpwrap.h xinetd.d [root@insecta vsftpd-3.0.2]# pwd /root/lnx/vsftpd-3.0.2
(3) [root@insecta vsftpd-3.0.2]# date 四 2月 20 15:29:12 CST 2014 [root@insecta vsftpd-3.0.2]# uname -a Linux insecta.idv.tw 2.6.39.4 #3 SMP Sat May 4 11:58:58 CST 2013 i686 i686 i386 GNU/Linux [root@insecta vsftpd-3.0.2]#
(4) [root@insecta vsftpd-3.0.2]# cat INSTALL |more
(5a) [root@insecta vsftpd-3.0.2]# make [root@insecta vsftpd-3.0.2]# ls -l vsftpd -rwxrwxr-x 1 root root 135664 2014-02-20 15:32 vsftpd (5b) [root@insecta vsftpd-3.0.2]# useradd nobody useradd:使用者 nobody 已存在 [root@insecta vsftpd-3.0.2]# (5c) [root@insecta vsftpd-3.0.2]# mkdir /usr/share/empty/ mkdir: 無法建立目錄‘/usr/share/empty/’: 檔案已存在 [root@insecta vsftpd-3.0.2]# (5d) [root@insecta vsftpd-3.0.2]# mkdir /var/ftp/ mkdir: 無法建立目錄‘/var/ftp/’: 檔案已存在 [root@insecta vsftpd-3.0.2]# useradd -d /var/ftp ftp useradd:使用者 ftp 已存在 (5e) [root@insecta vsftpd-3.0.2]# chown root.root /var/ftp [root@insecta vsftpd-3.0.2]# chmod og-w /var/ftp [root@insecta vsftpd-3.0.2]#
(5f) [root@insecta vsftpd-3.0.2]# 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 [root@insecta vsftpd-3.0.2]#
(5g) [root@insecta vsftpd-3.0.2]# stat /usr/local/sbin/vsftpd File: ‘/usr/local/sbin/vsftpd’ Size: 135664 Blocks: 280 IO Block: 4096 普通檔案 Device: fd00h/64768d Inode: 24051741 Links: 1 Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2014-02-20 15:39:22.000000000 +0800 Modify: 2014-02-20 15:39:22.000000000 +0800 Change: 2014-02-20 15:39:22.000000000 +0800 [root@insecta vsftpd-3.0.2]# stat /usr/local/man/man5 File: ‘/usr/local/man/man5’ Size: 4096 Blocks: 8 IO Block: 4096 目錄 Device: fd00h/64768d Inode: 4653406 Links: 2 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2014-02-19 11:16:36.000000000 +0800 Modify: 2014-02-20 15:39:22.000000000 +0800 Change: 2014-02-20 15:39:22.000000000 +0800 [root@insecta vsftpd-3.0.2]# stat /etc/vsftpd.conf File: ‘/etc/vsftpd.conf’ Size: 4445 Blocks: 16 IO Block: 4096 普通檔案 Device: fd00h/64768d Inode: 24348735 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2014-02-20 15:14:35.000000000 +0800 Modify: 2014-02-20 15:13:04.000000000 +0800 Change: 2014-02-20 15:13:04.000000000 +0800 [root@insecta vsftpd-3.0.2]#
(5h) [root@insecta vsftpd-3.0.2]# /usr/local/sbin/vsftpd -v vsftpd: version 3.0.2 [root@insecta vsftpd-3.0.2]# [root@insecta vsftpd-3.0.2]# cp vsftpd.conf /etc cp:是否覆寫 ‘/etc/vsftpd.conf’? y [root@insecta vsftpd-3.0.2]#
[root@insecta vsftpd-3.0.2]# cat /etc/vsftpd.conf|grep listen : listen=YES : [root@insecta vsftpd-3.0.2]#
(6a) [root@insecta vsftpd-3.0.2]# /usr/local/sbin/vsftpd & [2] 16699 [1] 已砍掉 /usr/local/sbin/vsftpd (wd: ~) (wd now: ~/lnx/vsftpd-3.0.2) [root@insecta vsftpd-3.0.2]# ps ax|grep ftpd 16699 pts/1 S 0:00 /usr/local/sbin/vsftpd 16702 pts/1 S+ 0:00 grep ftpd [root@insecta vsftpd-3.0.2]#
(7) [root@insecta vsftpd-3.0.2]# cp RedHat/vsftpd.pam /etc/pam.d/ftp cp:是否覆寫 ‘/etc/pam.d/ftp’? y |