拷貝來源:http://blog.udn.com/nigerchen/2261345
FTP SERVER 架設 (vsftp 版)

如果你有看了前幾篇的教學或是有了基本的知識,到了這裡,你就不用太過於擔心,一定可以駕輕就熟。



如同安裝LAMP一樣,我們使用ubuntu預設的 apt-get 套件來做安裝。



sudo apt-get install vsftpd



過程中,它會問你是否要安裝,請你按Y即可。

安裝完成後,我們可以來查看是否安裝成功,可用下列指令。



netstat -tul | grep ftp



下列會顯示一行訊息,最後會有一個LISTEN,表示已運行待命中。

接下來,就可以使用FTP軟體來做連線的動作。若順利連上就表示完成了,你可以使用你ubuntu的權限來進行登入,也可以使用匿名來登入,此時,vsftp的設定尚未完全。



如何設定vsftp權限



一般設定檔案的副檔名都叫作 .conf 居多,因此,它的設定檔,所在位置是



sudo vim /etc/vsftpd.conf



打開後,記得要編輯時都要按 Insert 或是 i 才能編輯,否則會錯亂一陣。

以下是文件的內容:(如你的文件內與此文件內容不同或是缺少,可以新增在最下方,若不需要此功能可在前面加上#號,即不會啟動)

#接受匿名用戶

anonymous_enable=YES



#匿名用戶login時不詢問密碼


no_anon_password=YES



#接受本地用戶


local_enable=YES



#可以上傳(全局控制).若想要匿名用戶也可上傳則需要設置anon_upload_enable=YES,若想要匿名用戶可以建立目錄則需要anon_mkdir_write_enable=YES.這裡禁止匿名用戶上傳,所以不設置這兩項.


write_enable=YES



#本地用戶上傳文件的umask


local_umask=022



#使用上傳/下載日誌,日誌文件默認為/var/log/vsftpd.log,可以通過xferlog_file選項修改


xferlog_enable=YES



#日誌使用標準xferlog格式


xferlog_std_format=YES



#login時的歡迎信息


ftpd_banner=Welcome to KingArthur's FTP service.



#設置的話將覆蓋上面的ftpd_banner設置,用戶login時將顯示/etc/vsftpd/banner中的內容


banner_file=/etc/vsftpd/banner



#為YES則進入目錄時顯示此目錄下由message_file選項指定的文本文件(,默認為.message)的內容


dirmessage_enable=YES



#本地用戶login後所在目錄,若沒有設置此項,則本地用戶login後將在他的home目錄(/etc/passwd的第六個欄位)中.匿名用戶的對應選項是anon_root<


local_root=/var/ftp



#設置為YES則下面的控制有效


chroot_list_enable=YES



#若為NO,則記錄在chroot_list_file選項所指定的文件(默認是/etc/vsftpd.chroot_list)中的用戶將被chroot在登錄後所在目錄中,無法離開.如果為YES,則所記錄的用戶將不被chroot.這裡選擇YES.(管理員使用居多)


chroot_local_user=NO



#若設置為YES則記錄在userlist_file選項指定文件(默認是/etc/vsftpd.user_list)中的用戶將無法login,並且將檢察下面的userlist_deny選項


userlist_enable=YES



#若為NO,則僅接受記錄在userlist_file選項指定文件(默認是/etc/vsftpd.user_list)中的用戶的login請求.若為YES則不接受這些用戶的請求.


userlist_deny=NO



#注意!!!vsftpd還要檢查/etc/vsftpd.ftpusers文件,記錄在這個文件中的用戶將無法login!!




#伺服器以standalong模式運行,這樣可以進行下面的控制

listen=YES



#匿名用戶的傳輸比率(b/s)


anon_max_rate=51200



#本地用戶的傳輸比率(b/s)


local_max_rate=512000



#可接受的最大client數目


max_clients=100



#每個ip的最大client數目


max_per_ip=5



connect_from_port_20=YES

tcp_wrappers=YES

pam_service_name=ftp




都改好了嗎?記得要重新啟動vsftp,才會生效



sudo /etc/init.d/vsftpd restart



記得每變更一次這個檔案,就要重啟一次,這樣子才會正常!!

------

補充:

一般我們會新增其他新的帳號來針對某些服務來做一些限制,像我在這裡新增了一個帳號是 www1 ,這個帳號就管理我的web server當然你也可以新增好幾個帳號,依照你所擁有的服務來創造管理的帳號。



那我們要怎麼限制這個帳號要控管哪個資料夾呢?



假設你已新增了一個帳號test,依照上面的設定,你的 chroot_local_user=NO,而且在/etc/vsftpd.chroot_list 也輸入了test這個帳號,那這個帳號將被限定在/home/test/,登入ftp後,將會無法回上一層,你的/home/test/被限定為根目錄,但是我的web server資料夾不是test,那怎麼做??



我們要修改帳號的初始路徑




sudo vim /etc/passwd



我們會看到下面的訊息(假設帳號為test)

test : x : 1001 : 1001 : test : /home/test : /bin/bash

^^^       ^^^    ^^^     ^^    ^^^^^^^

帳號       帳號id    群組id  群組名  家目錄位置



我們的目錄已改變在 /home/www/,那這個test帳號要管理web server 的資料夾,則可以把 /home/test/ 改成 /home/www/



家目錄的位置可以這樣修改,但是其餘的參數請勿在此修改,若導致帳號無法處理,我可無法負責。



我們可以看是否有修改成功,可以下這個指令




sudo grep test /etc/passwd



若出現



test : x : 1001 : 1001 : test : /home/www : /bin/bash




那就是修改正確,那就可以去你的ftp上面看是不是可以看到www裡的內容

NoSleep 發表在 痞客邦 留言(0) 人氣()

FP0  
 
 
Skype傳太慢啦! 雲端硬碟空間爆了! FB不能分享檔案! 我又不會架設FTP分享檔案!!!!

NoSleep 發表在 痞客邦 留言(0) 人氣()

1
Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。