- 論壇徽章:
- 0
|
以下內(nèi)容引用自
http://bbs.topsage.com/dispbbs_118_187328.html
此鏈接中。
proftpd默認用戶可以使用系統(tǒng)非root組的用戶登錄,登陸后都在自己的/home目錄中。同時匿名用戶不能登陸。而要對權(quán)限進行進一步的設(shè)置,需要在proftpd.conf里面進行定制。在默認的conf中,有如下的例子#
# User ftp
# Group nogroup
# # We want clients to be able to login with "anonymous" as well as "ftp"
# UserAlias anonymous ftp
# # Cosmetic changes, all files belongs to ftp user
# DirFakeUser on ftp
# DirFakeGroup on ftp
#
# RequireValidShell off
#
# # Limit the maximum number of anonymous logins
# MaxClients 10
#
# # We want 'welcome.msg' displayed at login, and '.message' displayed
# # in each newly chdired directory.
# DisplayLogin welcome.msg
# DisplayFirstChdir .message
#
# # Limit WRITE everywhere in the anonymous chroot
#
#
# DenyAll
#
#
#
# # Uncomment this if you're brave.
# #
# # # Umask 022 is a good standard umask to prevent new files and dirs
# # # (second parm) from being group and world writable.
# # Umask 022 022
# #
# # DenyAll
# #
# #
# # AllowAll
# #
# #
#
# proftpd的配置文件的格式和apache很相似:#全局設(shè)置
設(shè)置項目1 參數(shù)1
設(shè)置項目2 參數(shù)2#某個目錄的設(shè)置
...
#關(guān)于匿名用戶的設(shè)置
...
..
其中最重要的就是limit之中的部分,涉及到了具體的權(quán)限控制CMD:Change Working Directory 改變目錄
MKD:MaKe Directory 建立目錄的權(quán)限
RNFR: ReName FRom 更改目錄名的權(quán)限
DELE:DELEte 刪除文件的權(quán)限
RMD:ReMove Directory 刪除目錄的權(quán)限
RETR:RETRieve 從服務(wù)端下載到客戶端的權(quán)限
STOR:STORe 從客戶端上傳到服務(wù)端的權(quán)限
READ:可讀的權(quán)限,不包括列目錄的權(quán)限,相當(dāng)于RETR,STAT等
WRITE:寫文件或者目錄的權(quán)限,包括MKD和RMD
DIRS:是否允許列目錄,相當(dāng)于LIST,NLST等權(quán)限,還是比較實用的
ALL:所有權(quán)限
LOGIN:是否允許登陸的權(quán)限針對這些設(shè)置,又有如下具體的配置:AllowUser 針對某個用戶允許的Limit
DenyUser 針對某個用戶禁止的Limit
AllowGroup 針對某個用戶組允許的Limit
DenyGroup 針對某個用戶組禁止的Limit
AllowAll 針對所有用戶組允許的Limit
DenyAll 針對所有用戶禁止的Limit同時,可以針對單獨的用戶來限制速度TransferRate STOR|RETR 速度(Kbytes/s) user 使用者
而對于虛擬用戶,無法登陸的。所以,必須修改為下面是我的配置
User ftp #指定用戶的組和名稱
Group nogroup
UserAlias anonymous ftp #使得ftp和匿名用戶都能登陸
DirFakeUser on ftp
DirFakeGroup on ftp
RequireValidShell off
MaxClients 50 該用戶的最大連接數(shù)
DisplayLogin welcome.msg #顯示歡迎信息,需要注意把msg文件放到登陸后的主目錄
DisplayFirstChdir .message
MaxClientsPerHost 3 #限制每個主機最大連接數(shù)
#這里是對目錄進行設(shè)置,即不允許寫
DenyAll
#對上傳目錄的設(shè)置,我們有一個incoming文件夾需要允許別人上傳
Umask 022 022
#不允許下載
DenyAll
#允許上傳和新建目錄
AllowAll
同時,我們還需要對ftp進行管理。所以在系統(tǒng)中建立一個用戶,名稱為ftpadmin,屬于nogroup組,不允許登陸。同時賦予它對ftp所有的權(quán)限
User ftpadmin
Group nogroup
AllowAll
#global也可不要,后面如設(shè)置多個虛擬站點清晰
IdentLookups off #連接快些 還有后面的 UseReverseDNS
RequireValidShell off #匿名的一般需要加上這個
MaxLoginAttempts 1 #匿名的話1就可以了,最大密碼驗證次數(shù)
WtmpLog NONE #不記log到wtmp
DenyFilter \*.*/.ftpaccess #DenyFilter做一些過濾,正則表達式
#DenyFilter ~!`\**/?,$@ # 根據(jù)自己需要寫吧,上面的好爛:P
#LsDefaultOptions "-l" #ls參數(shù)
#AllowForeignAddress on #要允許 FXP 寫成 on
CommandBufferSize 128 #最大命令長度
DirFakeUser On FTP #不顯示給用戶真實的用戶、組
DirFakeGroup On FTP
DeferWelcome on #顯示歡迎信息
PathDenyFilter "(^\.ftpaccess$)" #同DenyFilter 過濾用
User nobody #proftpd 以哪個用戶、組的身份運行
Group nobody
TimesGMT off #時間
DenyAll
#出于某些考慮,開始禁掉,后面需要再打開。READ也可加過來...
#也可以這里設(shè)置允許連接的網(wǎng)段 Login,或者后面,建議用防火墻
IgnoreHidden on
HideNoAccess on
AllowOverwrite off #禁止重寫覆蓋,后面打開允許續(xù)傳
#AllowRetrieveRestart默認是on 也可以寫進來
ServerName "FTP server"
ServerType standalone #運行方式 還可以用 inetd xinetd
ServerIdent on "Welcome to FTP" #身份驗證前顯示給用戶的,也可用文件,這里略
DefaultServer on
UseReverseDNS off #加快連接速度
Port 21 #FTP端口
Umask 022 #掩碼 為了便于管理 用 002
PassivePorts 20000 30000 #被動模式端口段
SystemLog /var/proftpd/syslog #log 注意自己加上 logrotate 配置
MaxInstances 250 #最大
TimeoutLogin 30 #身份驗證超時
TimeoutIdle 120 #發(fā)呆超時
TimeoutNoTransfer 300 #無數(shù)據(jù)傳輸超時
#TimeoutStalled 300
#log一些自定義格式,根據(jù)需要調(diào)整或者用默認
LogFormat myxfer "%h %u %t \"%r\" %s %b"
LogFormat default "%h %a %u %t \"%r\" %s %b $$ \'%F\'"
LogFormat auth "%h %a %t \"%r\" %s"
LogFormat write "%h %a %t \"%r\" %s %b"
#匿名的根目錄 記得設(shè)置相應(yīng)目錄權(quán)限,ftp 用戶應(yīng)至少有 r x 權(quán)限
User ftp
Group ftpadmin
Umask 002
UserAlias anonymous ftp
MaxClients 50 "客滿(%m)" #人多時的提示信息,可以用一些變量
#RateReadBPS 500000 #限速用
MaxClientsPerHost 2 "連接數(shù)多" #一個IP的連接數(shù)
TransferLog NONE #log
ExtendedLog /var/proftpd/upload.log write myxfer #log
ExtendedLog /var/proftpd/download.log read myxfer #log
DisplayLogin etc/welcome #歡迎文件,可以用一些變量
DisplayFirstChdir .message #改變目錄時顯示的消息
AuthAliasOnly on #只允許 UserAlias 過的 這里只允許 anonymous 不允許ftp
AllowAll
#打開允許連接,可以這是允許訪問的網(wǎng)段,建議防火墻
AllowStoreRestart on #允許上傳目錄,可以續(xù)傳,不能覆蓋
AllowAll
#如果不想讓下載,只讓上載 可以加上
# DenyAll
#到這差不多就完了,每個目錄可以寫 .ftpaccess 設(shè)置權(quán)限
#后面這兩個可以參考根據(jù)需要
#在FTP根目錄又不讓看的,上面把歡迎信息放里面了,當(dāng)然可以放別的
DenyAll
#限制特定IP段能看的,也可在目錄的.ftpaccess里面設(shè)置
Order deny,allow
Allow from 166.111.
#到這匿名的就完了
#加帳號密碼可以用多種方式,密碼文件,數(shù)據(jù)庫等
#如果用系統(tǒng)的帳號,可以用 DefaultRoot 限制活動目錄,比如把TA堵在家里 ~
#還有別的很多 根據(jù)需要自己看文檔吧 比如打開MultilineRFC2228等
#
#記得設(shè)置相應(yīng)目錄權(quán)限,r x 一個都不能少
#記得設(shè)置文件權(quán)限(chmod/chown) 配置 .ftpaccess
#應(yīng)該了解 ls rm chmod chown find xargs crontab 等命令以便進行簡單管理
#kill/killall -HUP 或者用腳本 ftpshut ftpwho
#rm -f /etc/shutmsg
#相應(yīng)的輔助工具還有很多,也可以自己寫腳本
本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u/12297/showart_1667266.html |
|