Fedora vsftpd配置文件的說明一些常用功能的實(shí)現(xiàn)
在向大家詳細(xì)介紹Fedora vsftpd之前,首先讓大家了解下Fedora vsftpd,然后全面介紹Fedora vsftpd,希望對大家有用Fedora vsftpd.conf是Fedora vsftpd服務(wù)器的配置文件,此文件一般是/etc/vsftpd.conf或/etc/vsftpd/vsftpd.conf ,以系統(tǒng)為準(zhǔn)吧。
Fedora vsftpd.conf配置文件就是Fedora vsftpd服務(wù)器的全局控制文件,此配置文件中,每行應(yīng)該算做一個規(guī)則;前面帶有#號的服務(wù)器不會解釋,這和apache 的配置文件類似;#后所接的內(nèi)容一般是說明性的,或者是關(guān)掉某些功能的選項(xiàng);
關(guān)于Fedora vsftpd配置文件的說明;
Fedora vsftpd.conf 這個配置文件并不包括所有您想實(shí)現(xiàn)的功能,有些功能的實(shí)現(xiàn),我們要自己動手來解決,我們要學(xué)會查Fedora vsftpd的文檔和FAQ等,雖然是英文的,但都是比較簡單的;我們要習(xí)慣看洋文文檔,為什么呢?因?yàn)長inux本來就是洋人厲害,重量級的軟件都是洋人的。呵,兄弟不要抱怨,誰讓我們落后了呢?注意:修改完配置文件后,一定要重啟Fedora vsftpd服務(wù)器才能生效,切記~~
關(guān)于Fedora vsftpd服務(wù)器的一些常用功能的實(shí)現(xiàn);
1、關(guān)于匿名上傳下載的實(shí)現(xiàn);
關(guān)于匿名上傳,其實(shí)也比較簡單,首先我們要修改一下Fedora vsftpd.conf ,此文件位于 /etc/目錄下,可能是/etc/vsftpd.conf,也可能是/etc/vsftpd/vsftpd.conf文件。以您的系統(tǒng)環(huán)境為準(zhǔn);首先:我們要改一下vsftpd.conf,確保有以下幾行;
- anonymous_enable=YES
- anon_upload_enable=YES
- anon_mkdir_write_enable=YES
- anon_umask=022
其次:在ftp用戶家目錄的下建一個文件夾,并修改其權(quán)限為完全開放;
ftp用戶的家目錄在哪?我們前面已經(jīng)說了,要通過/etc/passwd來查看;也可以通過finger ftp來查看;
- [root@localhost beinan]# finger ftp
- Login: ftp Name: FTP User
- Directory: /var/ftp Shell: /sbin/nologin
這說明ftp用戶的家目錄在/var/ftp ,我們要在這個目錄下建一個目錄,然后把他的權(quán)限設(shè)置為任何用戶可讀可寫可執(zhí)行就行了;一般的情況下,在發(fā)行版中,有一個/var/ftp/pub的目錄,如果沒有,您也可以自己建一個;把配置文件改好后,只要把/var/ftp下的任何一個目錄的權(quán)限打開,都可以用來匿名上傳和下載;
比如您想讓匿名用戶上傳和下載都在/var/ftp/pub,就可以把/var/ftp/pub的權(quán)限打開,如果沒有這個目錄,您要自己建一個;
- [root@localhost ~]# mkdir /var/ftp/pub
- [root@localhost ~]# chmod 777 /var/ftp/pub
這樣上傳的時候傳到pub目錄就OK了,對不對??
2、關(guān)于添加本地用戶及打開讀寫權(quán)限示例;
FTP用戶一般是不能登錄系統(tǒng)的,這也是為了安全。在系統(tǒng)中,沒有權(quán)限登錄系統(tǒng)的用戶一般也被稱之為虛擬用戶;虛擬用戶也是要寫進(jìn) /etc/passwd中;這只是一種虛擬用戶的方法,但說實(shí)在的并不是真正的虛擬用戶,只是把他登錄SHELL的權(quán)限去掉了,所以他沒有能力登錄系統(tǒng);
如果我們想把beinan這個用戶目錄定位在/opt/beinan這個目錄中,并且不能登錄系統(tǒng);我們應(yīng)該如下操作
- [root@localhost ~]# adduser -d /opt/beinan -g ftp -s /sbin/nologin beinan
- [root@localhost ~]# passwd beinan
- Changing password for user beinan.
- New password:
- Retype new password:
- passwd: all authentication tokens updated successfully.
- [root@localhost ~]#
其實(shí)這還是不夠的,還要改一下配置文件Fedora vsftpd.conf ,以確保本地虛擬用戶能有讀寫權(quán)限;
- local_enable=YES
- write_enable=YES
- local_umask=022
4、如何實(shí)現(xiàn)虛擬路徑?
比如:
- /home/a 映射為 ftp://localhost/a
- /home/b/c 則為 ftp://localhost/c
其實(shí)這個不能說是Fedora vsftpd的內(nèi)容,其實(shí)我們早就接觸過了,可能我們沒有注意,我們可以通過如下的方法來實(shí)現(xiàn)。[root@localhost ~]# mount --bind [原有的目錄] [新目錄]比如我的ftp的默認(rèn)目錄是/var/ftp,我想把/mnt/LinG/WinSoft文件夾,映射到/var/ftp目錄中,我就如下操作我們要先在/var/ftp目錄中建一個目錄[root@localhost ~]# mkdir /var/ftp/WinSoft然后執(zhí)行mount命令[root@localhost ~]# mount --bind /mnt/LinG/WinSoft /var/ftp/WinSoft這樣就OK了。
5、打開vsFTP服務(wù)器的日志功能;
把下面xferlog_file前面的#號對掉,也就是把vsftp的log功能打開,這樣我們就能在/var/log目錄下查看Fedora vsftpd.log。這是vsFTP的日志功能,這對于我們來說是極為重要的。xferlog_file=/var/log/vsftpd.log
6、如何定制歡迎信息;
如何定制歡迎信息,也就是我們登入有些FTP之后,會出現(xiàn)類似:歡迎您來到LinuxSir FTP,在這里,您會得到最真誠的幫助,如果有什么問題和建議,請來信,多謝。實(shí)現(xiàn)這個并不難,我們可以查看Fedora vsftpd.conf文件中,是否有這行。
- dirmessage_enable=YES
- message_file=.message
如果沒有就加上,如果dirmessage_enable=YES前面有#號,就把#號去掉。其實(shí)FTP信息默認(rèn)的就是.message,所以可以不加 message_file= 來指定。自己指定也行,無所謂的事;
然后我們制定一個.message文件,寫上您想要寫的東西,比如是.message的內(nèi)容是如下的:
--歡迎您來到LinuxSir FTP!
--在這里,您會得到最真誠的幫助;
--如果有什么問題和建議,請來信,多謝。我們可以用編輯器來寫這個.message,我想這個過程就不用說了吧。
然后我們把.message這個文件復(fù)制到各個用戶的家目錄中。比如我的FTP的一個用戶是beinan,這個用戶所在的家目錄是/opt/beinan我們就要把.message放在/opt/beinan這個目錄下。如果系統(tǒng)用戶ftp,他的目錄就是/var/ftp這個目錄,這個是默認(rèn)的,當(dāng)匿名用戶登入時就訪問的是/var/ftp這個目錄。我們要讓匿名用戶能看到歡迎信息。就要把.message放在/var/ftp目錄中。其它的用戶,也無非就是類似的操作。
7、硬盤空間有限,如何把帳號ftp默認(rèn)的家目錄更改到別處?
我的硬盤空間有限,如何把帳號ftp默認(rèn)的路徑/var/ftp更改到別處?或者是,我的linux所有的目錄都放在/根分區(qū),因?yàn)榭臻g緊張,我能否把ftp這個用戶的默認(rèn)路徑放到別的分區(qū)??
對于ftp這個用戶的管理,我們應(yīng)該查看/etc/passwd ,然后修改ftp用戶那行;ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin比如我們想把ftp用戶的家目錄改為/opt/ftp,則要把類似上一行改為 ftp:x:14:50:FTP User:/opt/ftp:/sbin/nologin然后我們要建立ftp用戶的新的家目錄;
- [root@localhost ~]# mkdir /opt/ftp
- [root@localhost ~]# chmod 755 /opt/ftp
- [root@localhost ~]# chown root:root /opt/ftp
如果默認(rèn)的ftp磁盤空間緊張,我們其實(shí)也可以用虛擬路徑映射的方法來解決;也就是mount --bind的辦法;看情況吧,哪個適合就是最好的方法;
8、如何讓vsFTP服務(wù)器限制鏈接數(shù),以及每個IP最大的鏈接數(shù)?
應(yīng)該改Fedora vsftpd服務(wù)器的配制文件Fedora vsftpd.conf,加入下面的兩行:
- max_clients=數(shù)字
- max_per_ip=數(shù)字
舉例:我想讓我的vsFTP最大支持鏈接數(shù)為100個,每個IP,最多能支持5個鏈接,所以我應(yīng)該在Fedora vsftpd.conf中加上如下的兩行:
- max_clients=100
- max_per_ip=5
改好了配制文件,不要忘記啟動vsftp服務(wù)器。
9、如何限制傳輸速度?
anon_max_rate=數(shù)字 注:這是匿名的速度local_max_rate=數(shù)字 注:這是vsFTP服務(wù)器上本地用戶的速度 注:這個數(shù)字的單位是byte,所以我們要計(jì)算一下。比如我想讓匿名用戶和vsFTP上的用戶都以80KB下載,所以這個數(shù)字應(yīng)該是1024x80=81920所以我們要在Fedora vsftpd.conf中加入下面的兩行
- anon_max_rate=81920
- local_max_rate=81920
10、如何有選擇的把用戶限制在家目錄中呢?
我們要自己建一個文件,在/etc目錄中或/etc/vsftpd目錄中(假如您的vsftpd配置文件都是放在這個目錄的話);#touch /etc/vsftpd.chroot_list以beinan和nanbei這兩個用戶限制在他們所在的家目錄中,而其它的FTP用戶不做此限制。在vsftpd.chroot_list這個文件中,把beinan和nanbei添上去就行,注意,每個用戶占一行。beinan nanbei然后改/etc/vsftpd/vsftpd.conf文件,找如下的兩行
- chroot_list_enable=YES
- chroot_list_file=/etc/vsftpd.chroot_list
如果沒有這樣的兩行,就可以自己添加上去也是一樣的。設(shè)置好后,重新Fedora vsftpd服務(wù)器。補(bǔ)充一之補(bǔ)充:如何把系統(tǒng)內(nèi)所有的FTP用戶都限制在家目錄中呢??經(jīng)juliaugong兄的提示,我查找了Fedora vsftpd的洋文說明.
證明這個選項(xiàng)是一刀切的解決所有的用戶都能限制在家目錄中我們可以通過更改vsftpd.conf文件,加入如下的一行chroot_local_user=YES改完配制文件,不要忘記重啟Fedora vsftpd服務(wù)器;
11、如何讓綁定IP到Fedora vsftpd?
如何讓綁定IP到Fedora vsftpd?也就是說,如何讓用戶只能通過某個IP來訪問FTP。其實(shí)這個功能很有意思。如果綁定的是內(nèi)網(wǎng)的IP,外部是沒有辦法訪問的。如果綁定的是對外服務(wù)的IP,內(nèi)網(wǎng)也只能通過對外服務(wù)的IP來訪問FTP在Fedora vsftpd.conf中加一行,以我的局域網(wǎng)為例,請看第一帖中的操作環(huán)境,這樣外網(wǎng)就不能訪問我的FTP了,內(nèi)網(wǎng)也可能通過192.168.0.2來訪問FTP;listen_address=192.168.0.2
【編輯推薦】