安裝vsftpd:
vsftpd 是可在 Ubuntu 中使用的 FTP 守護程序之一。它在安裝、設置和維護方面十分方便。要安裝 vsftpd 您可以使用下列命令:
vsftpd - FTP 服務器配置
你可以編輯 vsftpd 配置文件,/etc/vsftpd.conf,來配置缺省設置。缺省狀態下只允許匿名 FTP。如果您希望禁用該選項,您可以將下面這行:
anonymous_enable=YES
改爲
anonymous_enable=NO
缺省狀態下,本地系統用戶是不允許登錄 FTP 服務器的。要改變該設置,您可以將下面這行反註釋:
#local_enable=YES
缺省狀態下,允許用戶從 FTP 下載文件,但不允許他們上傳文件到 FTP 服務器。爲了能夠上傳文件到 FTP 服務器,需要改變該設置,您可以將下面這行反註釋掉:
#anon_upload_enable=YES
配置文件包括許多配置參數。關於配置文件中的每個參數的信息都可以得到,或者您可以參考手冊頁,man 5 vsftpd.conf 說明每個參數的細節。 一旦您配置好了 vsftpd 您就可以運行該守護程序了。您可以執行下列命令來運行vsftpd 守護進程:
sudo /etc/init.d/vsftpd start
1. 安裝
$sudo apt-get install vsftpd
2. 啓動
$sudo /etc/init.d/vsftpd start
關閉
$sudo /etc/init.d/vsfptd stop
重啓
$sudo /etc/init.d/vsfptd.restart
3. 配置
配置文件在/etc/vsftpd.conf。關於配置解釋轉載自文章:用vsftp建立個ftp站點。
首先是最基本的配置,請看我的/etc/vsftpd/vsftpd.conf
################################################################
#接受匿名用戶
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=YES
#若設置爲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=vsftpd
#############################################################
下面是我的/etc/vsftpd.user_list
#################################################################
ftpuser
anonymous
##################################################################
/etc/vsftpd.ftpusers可以使用系統自帶的文件
/etc/vsftpd.chroot_list內容爲空
接着建立系統用戶ftpuser,將他加入ftp組並將/etc/passwd中他的記錄的最後一個字段改成/sbin/nologin(禁止本地登錄).
設置/var/ftp的所有者和所有組爲root,權限爲755
設置/var/ftp/pub的所有者爲root,所有組爲ftp,權限爲775
至此vsftpd的基本配置就完成了.這裏我們接受500);}" onClick="">匿名用戶anonymous和本地用戶ftpuser的請求.anonymous只能下載, ftpuser可以下載和上傳.他們登錄後均在/var/ftp目錄下且無法離開這個目錄(被chroot了).ftpuser可以在 /var/ftp/pub目錄中建立目錄和上傳文件,上傳文件的權限爲755(設置了local_umask=022).匿名用戶的傳輸比率爲 50kb/s,ftpuser的傳輸比率爲500kb/s.可聯接的最多客戶數爲100,每ip可聯接的最多客戶數爲5.
如果需要使本地用戶ftpput可以login,只需要將他加入/etc/vsftpd.user_list,要使他可以上傳,只需將他加入ftp組.
接着我們可以在/var/ftp下的各個目錄(包括/var/ftp)下建立.message文件,這樣用戶進入這個目錄時vsftpd將顯示. message的內容,你可以在這裏面寫上歡迎信息或者注意事項等等.另外可以編輯/etc/vsftpd/banner,建立login時的歡迎信息, 讓你的ftp更加個性化.
下面我們使用quota爲ftpuser加入磁盤限額,避免惡意用戶用垃圾數據塞滿你的硬盤.
假設/var/ftp在根分區/(/dev/hda5)中,則將/etc/fstab中根分區的記錄的第4個字段改成defaults,usrquota,這樣這條記錄看起來類似這樣:
LABEL=/ / ext3 defaults,usrquota 1 1
接着重啓系統後輸入下列命令:
quotacheck -acu #檢查啓用了配額的文件系統,併爲每個文件系統建立一個當前磁盤用來的表
quotacheck -avu #生成每個啓用了配額的文件系統的當前磁盤用量表
edquota ftpuser #爲用戶ftpuser設置磁盤配額
這時系統會在默認文本編輯器(vi)中打開配額文件,顯示類似這樣:
Disk quotas for user ftpuser (uid 501):
Filesystem blocks soft hard inodes soft hard
/dev/hda5 0 0 0 0 0 0
第一列是啓用了配額的文件系統的名稱。第二列顯示了用戶當前使用的塊數。隨後的兩列用來設置用戶在該文件系統上的軟硬塊限度。inodes 列顯示了用戶當前使用的i節點數量。最後兩列用來設置用戶在該文件系統上的軟硬i節點限度.硬限是用戶或組羣可以使用的磁盤空間的絕對最大值。達到了該限度後,磁盤空間就不能再被用戶或組羣使用了。軟限定義可被使用的最大磁盤空間量。和硬限不同的是,軟限可以在一段時期內被超過。這段時期被稱爲過渡期(grace period)。過渡期可以用秒鐘、分鐘、小時、天數、週數、或月數表示。如果以上值中的任何一個被設置爲 0,那個限度就不會被設置.按你的需要修改後存盤推出.
要校驗用戶的配額是否被設置,使用以下命令:
quota testuser
接着使用edquota -t來設置過渡期(grace period)
和另一個 edquota 命令相似,這個命令也會在文本編輯器中打開當前的文件系統配額:
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/hda5 7days 7days
按你的需要修改後存盤退出
轉自:http://blog.chinaunix.net/space.php?uid=23381466&do=blog&id=58770