官方地址: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 幫助命令