共计 2934 个字符,预计需要花费 8 分钟才能阅读完成。
这篇文章主要介绍 Proftpd 如何建立特殊交流账号,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
Proftpd 建立特殊交流帳號 (建立一個 ftpguest 群組! 將所有的 guset 設定在這個群組內!
我想,很多朋友都有使用 FTP 網站與其他網站交流的經驗了! 您可以給予某些站長一些上傳與下載的權限,並且這些權限是可以保留或者是累積的,真的是很棒啊! 在 Windows 系統上面有 Server-U 這個好用的傢伙,那麼我們的 Linux 上頭的 FTP 可以達到這樣的功能嗎?! 呵呵! proftpd 就可以! 而且設定還真的是很簡單喔! 假設我們要達成這樣的功能好了:
主機環境、實體用戶、anonymous 的環境都與前兩節的內容相同;
建立一個群組名為 ftpguest,如果使用者屬於該群組,則該使用者登入主機之後他的根目錄會在 /var/ftp2 這個目錄下;
有三個使用者,名為 ftpuser1, ftpuser2, ftpuser3,都屬於 ftpguest 群組,他們沒有家目錄,不能使用 ssh,但是他們在 /var/ftp2/upload 有寫入的權限,但不可讀取資料;
在 /var/ftp2 內的所有相關下載中,*** 流量為 50 Kbytes/second;
ftpuser1 的上傳 / 下載比例為 1:2,且具有 100 MB 的預設下載量; ftpuser2 與 ftpuser3 的上傳 / 下載比例則為 1:1,僅具有 30MB 的預設下載量;
當使用者進入 /var/ftp2 時,會顯示該使用者的上傳 / 下載比例,以及剩下的下載容量,還有其他的相關訊息;
與使用者有關的上傳 / 下載比例以及剩下的可下載容量,都記錄在 /var/ftp2/work/ratio.dat, /var/ftp2/work/ratio.tmp 當中,所以使用者在這個目錄都無法讀、寫!
在這個案例當中,最重要的就是那個『紀錄使用者上傳 / 下載的 ratio 以及可用空間的記錄檔』了,在我的案例當中,使用的就是 /var/ftp2/work/ratio.dat 這個檔案,請注意,這個檔案必須要能被 ftpuser1, ftpuser2, ftpuser3 所讀取與寫入才行! 相當的重要喔! 所以,我應該要這樣設計我的設定檔:
1. 建立所需要的群組與使用者:
# 我要建立一個群組為 ftpguest,此外,所有相關的使用者都是這個群組!
[root@test root]# groupadd ftpguest
[root@test root]# useradd -M -g ftpguest -s /bin/false ftpuser1
[root@test root]# useradd -M -g ftpguest -s /bin/false ftpuser2
[root@test root]# useradd -M -g ftpguest -s /bin/false ftpuser3
[root@test root]# passwd ftpuser1
# 請依序建立 ftpuser1 ftpuser2 ftpuser3 的密碼!
2. 建立所需要的 FTP 相關路徑:
# 我要的路徑在 /var/ftp2 當中,而且 ftpguest 必須要能夠寫入!
[root@test root]# mkdir -p /var/ftp2
[root@test root]# mkdir -p /var/ftp2/upload
[root@test root]# mkdir -p /var/ftp2/work
[root@test root]# chmod -R 775 /var/ftp2
[root@test root]# touch /var/ftp2/work/ratio.dat #底下兩個檔案用在 ratio
[root@test root]# touch /var/ftp2/work/ratio.tmp
[root@test root]# chown -R ftpuser1:ftpguest /var/ftp2
[root@test root]# chmod 666 /var/ftp2/work/*
3. 建立基本的設定檔案:
[root@test root]# vi /usr/local/proftpd/etc/proftpd.conf
# 關於主機, 實體用戶,anonymous 的設定如同前兩小節所示,所以我這裡就略過了!
…(沿用上兩小節的設定,這裡略過)…..
# 底下則是 /var/ftp2 的設定喔! 就是與 ftpguest 有關的設定喔!
DefaultRoot /var/ftp2 ftpguest
DisplayLogin welcome.msg
# 開始設定上傳 / 下載比例
Ratios on
SaveRatios on
RatioFile /work/ratio.dat
RatioTempFile /work/ratio.tmp
# 上面這兩個檔案需要比較注意! 他的路徑與 DefaultRoot 有關係!
# 因為我們的 DefaultRoot 在 /var/ftp2,因此,這個檔案在
#『根目錄為 /var/ftp2 時,路徑為 /work/』也就是說,/work/ratio.dat
# 其實就是 /var/ftp2/work/ratio.dat (因為 / 是 /var/ftp2 喔)
# 這個地方是最容易搞錯的! 請再次的看清楚喔! ^_^
# 至於底下的設定就是要讓 /var/ftp2/work 這個目錄下的檔案都無法被使用!
Denyall
# 這裡就是在設定使用者的上傳 / 下載比例啦! 語法為:
# UserRatio 使用者帳號 fileratio filequota byteratio bytequota
# 使用者帳號:就是登入 proftpd 的帳號啊!
# fileratio:這個是以檔案為基準的『比例』,通常不限制,故為 0
# filequota:預設能夠下載多少檔案,不限制時為 0
# byteratio:就是上傳 / 下載的比例,這個數字代表『1: 下載』之意!
# bytequota:預設能夠下載多少 KBytes 的檔案! 注意單位喔!
UserRatio ftpuser1 0 0 2 100000 # 上 / 下比例為 1:2
UserRatio ftpuser2 0 0 1 30000
UserRatio ftpuser3 0 0 1 30000
# UserRatio ftpuser3 0 0 -2 30000
# 上面這行有意思! 當下載比例為負值時,表示上 / 下 比例為 2:1 的意思!
Umask 002
# 這裡就是在進行『下載速度的限制』囉!
TransferRate RETR 50 group ftpguest
Denyall
Allowall
4. 建立歡迎畫面:
# 特別留意,因為我的 ftpguest 群組的根目錄在 /var/ftp2,因此,我的
# welcome.msg 就必須放置在 /var/ftp2/welcome.msg 了!
[root@test root]# vi /var/ftp2/welcome.msg
歡迎光臨! 這個是鳥哥的測試 FTP 站台喔!
我的主機:%L
目前時間:%T
*** 連線:%M
目前連線:%N
您的主機:%R
您的帳號:%U
目前目錄:%C
5. 重新啟動!
[root@test root]# /etc/rc.d/init.d/xinetd restart
以上是“Proftpd 如何建立特殊交流账号”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!