WIKI使用導航
站長百科導航
站長專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機
- cPanel
- 網(wǎng)址導航專題
- 云計算
- 微博營銷
- 虛擬主機管理系統(tǒng)
- 開放平臺
- WIKI程序與應用
- 美國十大主機
Vsftpd服務器的常用功能
關于匿名上傳下載的實現(xiàn)[ ]
關于匿名上傳,其實也比較簡單,首先我們要修改一下vsftpd.conf ,此文件位于 /etc/目錄下,可能是/etc/vsftpd.conf,也可能是/etc/vsftpd/vsftpd.conf文件。以您的系統(tǒng)環(huán)境為準;
首先:我們要改一下vsftpd.conf,確保有以下幾行;
anonymous_enable=YES anon_upload_enable=YES anon_mkdir_write_enable=YES anon_umask=022
其次:在ftp用戶家目錄的下建一個文件夾,并修改其權限為完全開放;
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 ,我們要在這個目錄下建一個目錄,然后把他的權限設置為任何用戶可讀可寫可執(zhí)行就行了;一般的情況下,在發(fā)行版中,有一個/var/ftp/pub的目錄,如果沒有,您也可以自己建一個;把配置文件改好后,只要把/var/ftp下的任何一個目錄的權限打開,都可以用來匿名上傳和下載;
比如您想讓匿名用戶上傳和下載都在/var/ftp/pub,就可以把/var/ftp/pub的權限打開,如果沒有這個目錄,您要自己建一個;
[root@localhost ~]# mkdir /var/ftp/pub [root@localhost ~]# chmod 777 /var/ftp/pub
關于添加本地用戶及打開讀寫權限示例[ ]
FTP用戶一般是不能登錄系統(tǒng)的,這也是為了安全。在系統(tǒng)中,沒有權限登錄系統(tǒng)的用戶一般也被稱之為虛擬用戶;虛擬用戶也是要寫進/etc/passwd中;這只是一種虛擬用戶的方法,但說實在的并不是真正的虛擬用戶,只是把他登錄SHELL的權限去掉了,所以他沒有能力登錄系統(tǒng);
如果我們想把beinan這個用戶目錄定位在/opt/beinan這個目錄中,并且不能登錄系統(tǒ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 ~]#
其實這還是不夠的,還要改一下配置文件vsftpd.conf ,以確保本地虛擬用戶能有讀寫權限;
local_enable=YES write_enable=YES local_umask=022
如何實現(xiàn)虛擬路徑?[ ]
比如:
/home/a 映射為 ftp://localhost/a /home/b/c 則為 ftp://localhost/c
其實這個不能說是vsFTPd的內(nèi)容,其實我們早就接觸過了,可能我們沒有注意,我們可以通過如下的方法來實現(xiàn)。
[root@localhost ~]# mount --bind [原有的目錄] [新目錄]
比如我的ftp的默認目錄是/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了。
打開vsFTP服務器的日志功能[ ]
把下面xferlog_file前面的#號對掉,也就是把vsftp的log功能打開,這樣我們就能在/var/log目錄下查看vsftpd.log。這是vsFTP的日志功能,這對于我們來說是極為重要的。
xferlog_file=/var/log/vsftpd.log
如何定制歡迎信息[ ]
如何定制歡迎信息,也就是我們登入有些FTP之后,會出現(xiàn)類似:歡迎您來到LinuxSir FTP,在這里,您會得到最真誠的幫助,如果有什么問題和建議,請來信,多謝。
實現(xiàn)這個并不難,我們可以查看vsftpd.conf文件中,是否有這行。
dirmessage_enable=YES message_file=.message
如果沒有就加上,如果dirmessage_enable=YES前面有#號,就把#號去掉。其實FTP信息默認的就是.message,所以可以不加 message_file= 來指定。自己指定也行,無所謂的事;
然后我們制定一個.message文件,寫上您想要寫的東西,比如是.message的內(nèi)容是如下的:
--歡迎您來到LinuxSir FTP! --在這里,您會得到最真誠的幫助; --如果有什么問題和建議,請來信,多謝。
我們可以用編輯器來寫這個.message,我想這個過程就不用說了吧。
然后我們把.message這個文件復制到各個用戶的家目錄中。比如我的FTP的一個用戶是beinan,這個用戶所在的家目錄是/opt/beinan 我們就要把.message放在/opt/beinan這個目錄下。如果系統(tǒng)用戶ftp,他的目錄就是/var/ftp這個目錄,這個是默認的,當匿名用戶登入時就訪問的是/var/ftp這個目錄。我們要讓匿名用戶能看到歡迎信息。就要把.message放在/var/ftp目錄中。其它的用戶,也無非就是類似的操作。
硬盤空間有限,如何把帳號ftp默認的家目錄更改到別處?[ ]
我的硬盤空間有限,如何把帳號ftp默認的路徑/var/ftp更改到別處?或者是,我的linux所有的目錄都放在/根分區(qū),因為空間緊張,我能否把ftp這個用戶的默認路徑放到別的分區(qū)??
對于ftp這個用戶的管理,我們應該查看/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
如果默認的ftp磁盤空間緊張,我們其實也可以用虛擬路徑映射的方法來解決;也就是mount --bind的辦法;看情況吧,哪個適合就是最好的方法;
如何讓vsFTP服務器限制鏈接數(shù),以及每個IP最大的鏈接數(shù)?[ ]
應該改vsFTPd服務器的配制文件vsftpd.conf,加入下面的兩行:
max_clients=數(shù)字 max_per_ip=數(shù)字
舉例:我想讓我的vsFTP最大支持鏈接數(shù)為100個,每個IP,最多能支持5個鏈接,所以我應該在vsftpd.conf中加上如下的兩行:
max_clients=100 max_per_ip=5
改好了配制文件,不要忘記啟動vsftp服務器。
如何限制傳輸速度?[ ]
anon_max_rate=數(shù)字
注:這是匿名的速度
local_max_rate=數(shù)字
注:這是vsFTP服務器上本地用戶的速度
注:這個數(shù)字的單位是byte,所以我們要計算一下。比如我想讓匿名用戶和vsFTP上的用戶都以80KB下載,所以這個數(shù)字應該是1024x80=81920
所以我們要在vsftpd.conf中加入下面的兩行
anon_max_rate=81920 local_max_rate=81920
如何有選擇的把用戶限制在家目錄中呢?[ ]
我們要自己建一個文件,在/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
如果沒有這樣的兩行,就可以自己添加上去也是一樣的。
設置好后,重新vsFTPD服務器。
補充一之補充:如何把系統(tǒng)內(nèi)所有的FTP用戶都限制在家目錄中呢??
我們可以通過更改vsftpd.conf文件,加入如下的一行
chroot_local_user=YES
改完配制文件,不要忘記重啟vsFTPd服務器;
如何讓綁定IP到vsFTPd?[ ]
如何讓綁定IP到vsFTPd?也就是說,如何讓用戶只能通過某個IP來訪問FTP。其實這個功能很有意思。如果綁定的是內(nèi)網(wǎng)的IP,外部是沒有辦法訪問的。如果綁定的是對外服務的IP,內(nèi)網(wǎng)也只能通過對外服務的IP來訪問FTP