官方地址:http://www.wu-ftp.org
http://mirrors.bevc.net/wu-ftpd/wu-ftpd/wu-ftpd-2.6.2.tar.gz
ftp://ftp.pbone.net/mirror/archive.download.redhat.com/pub/redhat/linux/8.0/en/os/i386/RedHat/RPMS/wu-ftpd-2.6.2-8.i386.rpm

一、實驗環(huán)境
AS4+wu-ftpd-2.6.2

二、安裝<推薦rpm安裝>
1、源碼安裝
# cd wu-ftpd-2.6.2/src
# cp ftpcmd.y ftpcmd.y.orig
# sed -e "s/=[ "$'\t'"][ "$'\t'"]*{/'=' {/" ftpcmd.y.orig > ftpcmd.y
# cd ..
# ./configure
# make
# make install

2、rpm安裝
# rpm -ivh wu-ftpd-2.6.2-8.i386.rpm

三、實驗要求
1、將組設(shè)置成real,guest,anonymous三個組進(jìn)行控制;
2、用戶身份有real,guest,anonymous,其中real只允許來自222.220.162.0/24網(wǎng)絡(luò),而guest,anonymous可來自所有網(wǎng)段,但除了60.179.149.0/24網(wǎng)段;
3、允許可用的被動端口,65501-65510端口
4、系統(tǒng)中小于499以及大于65000的UID與GID都被拒絕登錄;
5、任何時候,最大的在線人數(shù)為30人,guest最多10人,anonymous0800-2000最多5人;
6、實體用戶tangye被限制只以在主目錄中工作,無法退出主目錄,其他實體用戶則不受限制;
7、有二個系統(tǒng)用戶分別為user01,user02,將這個兩個用戶定為guest身份,設(shè)置主目錄為/home/user01/data,/home/user02/data,并且設(shè)置傳輸速度最大為100KB/s;隸屬于ftpuser
8、還有一個用戶user03用戶,上傳\下傳比例1.0,傳輸速度為64KB/s;
9、anonymous(匿名用戶)的主目錄設(shè)置為/home/ftp,并且限制anonymous一次連網(wǎng)最長30分鐘,而且最多能下20個文件,20M的數(shù)據(jù)量,傳輸速度最快僅到32KB/s;上傳的目錄為/home/ftp/upload中,默認(rèn)文件擁有ftp所屬的組sys,上傳速度最快為16KB/s;

四、系統(tǒng)配置
# useradd tangye
# groupadd ftpuser
# useradd -m -g ftpuser -s /sbin/nologin user01
# useradd -m -g ftpuser -s /sbin/nologin user02
# useradd -m -g ftpuser -s /sbin/nologin user03
# passwd user01          //分別設(shè)置密碼為'123456'
# passwd user02
# passwd user03
# passwd tangye
# vi /etc/xinetd.d/wu-ftpd
service ftp
{
        socket_type             = stream
        wait                    = no
        user                    = root
        server                  = /usr/sbin/in.ftpd
        server_args             = -l -a
        log_on_success          += DURATION
        nice                    = 10
        disable                 = no   <===NO表示,啟用wu-ftpd
}
# /etc/rc.d/init.d/xinetd restart
# netstat -tl | grep ftp    //出現(xiàn)以下提示,表示開啟FTP成功
tcp        0      0 *:ftp                       *:*                         LISTEN
# vi /etc/ftpaccess         //主要配置文件
###############針對組設(shè)置#################
class   all             real,guest,anonymous *
class   allreal         real                  222.220.162.0/24
class   allguest        guest                 !60.179.149.0/24 *
class   allanonymous    anonymous             !60.179.149.0/24 *
###############針對主機設(shè)置###############
email postmaster@tglm.3322.org    //管理員的e-mail信箱
hostname tglm.3322.org            //主機名稱
shutdown /etc/shutmsg             //用來設(shè)置關(guān)閉FTP服務(wù)的時間 2008 7 15 12 0 0130 0030 “提示文字” 表示2008/7/15的12:00要關(guān)閉FTP,在12點之前的一個半小時內(nèi)(10:30),不允許新的連網(wǎng)登錄,在12點三十分鐘前(11:30)斷掉已經(jīng)存在的連網(wǎng)。FTP服務(wù)沒關(guān),只是無法登錄。
loginfails 5                      //允許錯誤的登錄次數(shù)5,超過則斷開
log transfers anonymous,guest,real inbound,outbound //記錄anonymous,guest,real用戶文件傳輸上傳下傳動作,記錄/var/log/xferlog文件中
passwd-check rfc822 warn          //匿名的驗證方式<密碼格式二種trivial和rfc822,前者必須含有@字符,后者字母和數(shù)安>;<動作二咱warn和enforce,前者用戶輸入錯誤密碼,顯示警告,及允許登錄。后者,顯示警告,并中斷連網(wǎng)>
#################信息管理#################
readme README*    login
readme README*    cwd=*            //當(dāng)用戶登錄或變換目錄,若目的端有README*所有的文件,則向用戶提醒用戶的使用,
message /welcome.msg            login   //welocome.msg歡迎畫面
message .message                cwd=*   //不公提醒用戶使用,當(dāng)?shù)卿浕蜃儞Q到任何文件名為.message的目錄時,該文件內(nèi)容會顯示在屏幕上。
#################命令管理#################
compress        yes             all
tar             yes             all           //允許所有用戶壓縮解壓指令
chmod           no              guest,anonymous   //不允許guest,anonymous設(shè)置目錄文件權(quán)限
delete          no              anonymous
overwrite       no              anonymous
rename          no              anonymous     //不允許anonymous 刪除改名
#################登錄管理#################
deny-uid %-499 %65000-
deny-gid %-499 %65000-         //系統(tǒng)中小于499以及大于65000的UID、GID將被拒絕
allow-gid ftpuser              //允許ftpuser組登錄
#################時間設(shè)置#################
timeout accept 120            //由于某種原因或網(wǎng)絡(luò)帶寬影響,無法立即登錄。等待客戶端120秒連網(wǎng)
timeout connect 120            //三次握手客戶端回應(yīng)ACK的時間120秒
timeout data    2400           //允許上傳下載一個文件的時間,2400表示40分鐘。建議大一點
timeout idle    1800           //多久沒有和服務(wù)器交互,1800S會自動斷線
timeout maxidle 1800           //與idle類似,客戶端可以要求延長時間
#################主機連接數(shù)#################
<limit> <人物組名稱> <連接數(shù)> <時間>     <被拒絕時顯示內(nèi)容>
limit        all        30      Any                /etc/ftpmaxnumber
limit      allguest     10      Any                /etc/ftpmaxnumber
limit    allanonymous    5      Any0800-2000       /etc/ftpmaxnumber
##################被動端口##################
passive ports <CIDR地址> <最小端口> <最大端口>
passive ports 0.0.0.0/0     65501     65510         //來自任何地方的IP在請求passive連網(wǎng)模式,將以65501-65510之間被動端口來連;
##################實體用戶##################
restricted-uid tangye           //限制用戶的主目錄,無法到到達(dá)其他的目錄中
#################guest設(shè)置##################
guestuser user01 user02 user03        //將user01-03設(shè)置成guest
guest-root /home/user01/data    user01
guest-root /home/user02/data    user02
guest-root /home/user03         user03       //設(shè)置用戶的主目錄
throughput      <根目錄>       <次目錄> <文件名> <bytes/s> <倍數(shù)> <地址>
throughput /home/user01/data      *         *      102400     -      *
throughput /home/user02/data      *         *      102400     -      *
throughput /home/user03           *         *       65536     -      *
ul-dl-rate     1     allguest   //這表示allguest組上傳下載的
##############anonymous設(shè)置##################
linmit-time    anonymous     10                         //anonymous每次登錄連網(wǎng)10分鐘,如果超過10分鐘,系統(tǒng)會強制斷開
file-limit        out        20         allanonymous    //allanonymous組中任何用戶,在一次登錄中可以下載20個文件
data-limit        out      10485760     allanonymous     //allanonymous組中任何用戶,在一次登錄中可以下載10M數(shù)據(jù)
throughput     /home/ftp         *            *      32768     -      *
throughput     /home/ftp       /upload        *      16384     -      *
anonymous-root /home/ftp
upload      /home/ftp     /upload yes ftp sys 0666
# mkdir -pv /home/ftp/upload
# chown ftp:sys /home/ftp/upload
# mkdir /home/user01/data
# mkdir /home/user02/data
# chown user01:ftpuser /home/user01/data
# chown user02:ftpuser /home/user02/data
# cat /etc/shells |grep sbin       //確認(rèn)/sbin/nologin在該文件內(nèi)
# vi /welcome.msg
Welcome to my FTP site.
Now is the time ==> %T
The host name is %L
You are %U and from %R
There are %N person in my site, now.
If you have any problem please call me
%E
# vi /home/user01/data/.message
hello user01
# vi /home/user02/data/.message
hello user02
# vi /home/ftp/welcome.msg
Welcome to my FTP site.
Now is the time ==> %T
The host name is %L
You are %U and from %R
There are %N person in my site, now.
If you have any problem please call me
%E
# reboot

修改FTP默認(rèn)端口方法
# vi /etc/xinetd.d/wu-ftpd
service wuftp         <===修改這里
{
        socket_type             = stream

# vi /etc/services //添加以下內(nèi)容
wuftp    3344/tcp
# /etc/rc.d/init.d/xinetd restart

五、客戶端命令
ftp> dir                        顯示遠(yuǎn)程主機的內(nèi)容
ftp> cd                         變換遠(yuǎn)程主機的目錄
ftp> quit/close/bye/exit        退出遠(yuǎn)程主機
ftp> get file                   下載遠(yuǎn)程主機的文件
ftp> mget file                  取得所有文件
ftp> put file                   當(dāng)本地端的文件,上傳到遠(yuǎn)程主機
ftp> mput file                  將本地端的所有文件,上傳到遠(yuǎn)程主機
ftp> delete file                刪除遠(yuǎn)程主機文件
ftp> mkdir file                 建立目錄
ftp> lcd                        變換本地端路徑
ftp> ascii/binary               傳輸格式
ftp> help                       幫助命令