sco配置ftpaccess限制FTP使用者在自己目錄下

chenfengwww發表於2010-12-31

第一步:建立一個 ftp guest 組,用 groupadd 命令,也可以用 ftp 伺服器建立的 ftp (less /etc/group 看看是否存在,如果裝了ftp server的話都有這個組存在)

第二步:在 ftp 組中新增 ftp 使用者;

第三步:修改 /etc/ftpaccess 檔案,加入 guestgroup 的定義: guestgroup ftp; 或者用 guestuser 直接指定 ftp 使用者名稱,如:guestuser ftpuser

vi /etc/ftpaccess

restricted-gid 101

upload /home/ljcz/txt yes real guest anonymous 0644

guestgroup myftp

參考:ftpaccess例子
loginfails 3
class local real *
class remote anonymous guest *
limit remote 100 Any /etc/ftpd/toomany.msg
message /etc/ftpd/welcome.msg login
compress yes local remote
tar yes local remote
private yes
passwd-check rfc822 warn
log commands real
log transfer anonymous guest inbound outbound
log transfer real inbound
shutdown /etc/ftpd/shut.msg
delete no anonymous,guest
overwrite no anonymous,guest
rename no anonymous
chmod no anonymous,guest
umask no anonymous
upload /home/ftpd * no
upload /home/ftpd /bin no
upload /home/ftpd /etc no
upload /home/ftpd /pub yes real 0644 dirs
upload /home/ftpd /incoming yes real guest anonymous 0644 dirs
alias in /incoming
email guest@xxx.net
email guest@yyy.net
deny *.com.tw /etc/ftpd/deny.msg

下面我們逐句進行講解,並給出每條設定的含義,以便大家觸類旁通,以便根據自己FTP伺服器的具體情況進行合理的設定。
1. 格式:loginfails [次數]
功能:設定當使用者登入到FTP伺服器時,允許使用者輸錯密碼的次數。
例項:loginfails 3:密碼輸入錯誤三次就切斷連線。
2. 格式:class [類名] [real/guest/anonymous] [IP地址]
功能:這個指令的功能設定FTP伺服器上使用者的類別。並可對客戶端的IP地址進行限制,允許某部分的IP地址或全部的IP地址訪問。而在FTP伺服器上的使用者基本上可以分為以下三類:
real 在該FTP伺服器有合法帳號的使用者;
guest 有記錄的匿名使用者;
anonymous 許可權最低的匿名使用者
例項:class local real *:定義一個名為local的類,它包含了在任何地方登入(*代表所有IP地址)的real使用者。
class remote anonymous guest *:定義一個名為remote的類,它包含了在任何地方登入的anonymous使用者和guest使用者。
3. 格式:limit [類別] [人數] [時間] [檔名]
功能:這個指令的功能為設定指定的時間內指定的類別允許連線的指定人數上限。當達到人數上限的時候,顯示指定檔案的內容。
例項:limit remote 100 Any /etc/ftpd/toomany.msg:在任何時間內,remote類的訪問使用者達到100人時,將不再允許無法產生新的連線,當第101位客戶要連線時,連線將失敗,並象使用者出示檔案/etc/ftpd/toomany.msg的內容。
4. 格式:message [檔名稱] [指令]
功能:當使用者執行所指定的指令時,系統將指定的檔案內容顯示出來。
例項:message /etc/ftpd/welcome.msg login:當使用者執行login命令時,也就是登入到FTP伺服器上的時候,系統將顯示檔案/etc/ftpd/welcome.msg的內容。
5. 格式:compress [yes/no] [類別]
功能:設定哪一個類別的使用者可以使用compress(壓縮)功能。
例項:compress yes local remote:允許local和remote兩個類別的使用者都能使用 compress(壓縮)功能。
6. 格式:tar [yes/no] [類別]
功能:設定哪一個類別的使用者可以使用tar(歸檔)功能。
例項:tar yes local remote:允許local和remote兩類的使用者都能使用tar功能。
7. 格式:private [yes/no]
功能:設定是否支援群組對檔案的取用。
例項:private yes:支援群組對檔案的取用。
8. 格式:passwd-check [none/trivial/rfc822] [enforce/warn]
功能:設定對匿名使用者anonymous的密碼使用方式。
none 表示不做密碼驗證,任何密碼都可以登入;
trival 表示只要輸入的密碼中含有字元“@”就可以登入;
rfc822 表示密碼一定要符合RFC822中所規定的E-Mail格式才能登入;
enfore 表示輸入的密碼不符合以上指定的格式就不讓登入;
warn 表示密碼不符合規定時只出現警告資訊,仍然能夠登入。
例項:passwd-check rfc822 warn:希望能夠得到符合規定的E-Mail作為密碼,但如果不是,也允許登入。
9. 格式:log command [real/guest/anonymous]
功能:設定哪些使用者登入後的操作記錄在檔案/usr/adm/xferlog中。
例項:log command real:當real使用者登入後,將他的操作記錄下來。由於其它使用者許可權較低,所以操作不會引起太大的安全隱患,所以一般只需記下real使用者的操作就可以了。
10. 格式:log transfers [real/guest/anonymous] [inbound/outbound]
功能:設定哪些使用者的上載(inbound)和下載(outbound)操作做日誌。
例項:log transfer anonymous guest inbound outbound:對於匿名使用者要更加的關注它們的檔案操作,所以無論上載、下載都進行記錄。
log transfer real inbound:對於合法使用者則只記錄他的上載記錄。
11. 格式:shutdown [檔名]
功能:FTP伺服器關閉的時間可以設定在後面所指定的檔案中,當設定的時間一到,便無法登入FTP伺服器了,要恢復的話只有將這個檔案刪掉。而這個檔案必 須由指令/bin/ftpshut來生成。
例項:shutdown /etc/ftpd/shut.msg
12. 格式:delete [yes/no] [real/anonymous/guest]
功能:設定是否允許指定使用者使用delete命令刪除檔案。預設是允許。
例項:delete no anonymous,guest:為了更好地管理FTP伺服器,一般情況下,我們不允許匿名使用者執行delete命令。
13. 格式:overwrite [yes/no] [real/anonymous/guest]
功能:設定是否允許指定使用者覆蓋同名檔案。預設是允許。
例項:overwrite no anonymous,guest:為了更好地管理FTP伺服器,一般情況下,我們不允許匿名使用者覆蓋同名檔案。
14. 格式:rename [yes/no] [real/anonymous/guest]
功能:設定是否允許指定使用者使用rename命令來為檔案改名。預設是允許。
例項:delete no anonymous:為了更好地管理FTP伺服器,一般情況下,我們不允許匿名使用者執行rename命令改變檔名。而對有記錄的匿名使用者則適當的放寬,允許他們使用改名命令。
15. 格式:chmod [yes/no] [real/anonymous/guest]
功能:設定是否允許指定使用者使用chmod命令更改檔案許可權。預設是允許。
例項:delete no anonymous,guest:為了更好地管理FTP伺服器,一般情況下,我們不允許匿名使用者執行chmod命令更改檔案許可權。
16. 格式:umask [yes/no] [real/anonymous/guest]
功能:設定是否允許指定使用者使用umask命令。預設是允許。
例項:delete no anonymous:為了更好地管理FTP伺服器,一般情況下,我們不允許匿名使用者執行umask命令。
17. 格式:upload [根目錄] [上載目錄] [yes/no] [使用者] [許可權] [dirs/nodirs]
功能:對可以上載的目錄進行更加詳細的設定。
例項:upload /home/ftpd * no:表示在子目錄/home/ftpd下不允許上載;
upload /home/ftpd /bin no:表示在子目錄/home/ftpd/bin下不允許上載;
upload /home/ftpd /etc no:表示在子目錄/home/ftpd/etc下不允許上載;
upload /home/ftpd /pub yes real 0644 dirs:允許用伺服器上的合法使用者在子目錄/home/ftpd/pub目錄下能上載許可權為0644(也就是-rw-r--r--)的檔案,而且在這個目錄下可以新建子目錄。
upload /home/ftpd /incoming yes real guest anonymous 0644 dirs:允許所有的使用者在子目錄/home/ftpd/incoming下能上載許可權為0644的檔案,而且在這個目錄下可以新建子目錄。
18. 格式:alias [目錄別名] [目錄名]
功能:給指定目錄設定一個別名,在切換目錄時就可以使用較短的目錄別名。
例項:alias inc: /incoming:為子目錄incoming設定一個別名inc:。
19. 格式:email [guest的E-Mail地址]
功能:只要將某些E-Mail地址設定在這個地方,那麼這些使用者登入到FTP伺服器時,他的身份將為guest,一般許可權比real低一些,比anonymous高。
例項:email guest@xxx.net email guest@yyy.net:這裡僅是一個示例,實際上可 以包含多個符合規範的E-Mail地址。
20. 格式:deny [IP地址/域名] [說明檔案]
功能:這個設定可以限制哪一些IP地址或域名的使用者無法登入FTP伺服器。
例項:deny *.com.tw /etc/ftpd/deny.msg:設定凡是域名是以“.com.tw”結束的域名,都禁止其訪問。而將/etc/ftpd/deny.msg的內容顯示給使用者看。

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22036495/viewspace-1043933/,如需轉載,請註明出處,否則將追究法律責任。

相關文章