Ubuntu vsftpd服務(wù)安裝設(shè)置
Ubuntu vsftpd服務(wù)安裝設(shè)置
首先是最基本的配置,請看我的/etc/vsftpd/vsftpd.conf
#接受匿名用戶
- anonymous_enable=YES
#匿名用戶login時不詢問口令
- no_anon_password=YES
#接受本地用戶
- local_enable=YES
#可以上傳(全局控制).若想要匿名用戶也可上傳則需要設(shè)置anon_upload_enable=YES,若想要匿名用戶可以建立目錄則需要設(shè)置anon_mkdir_write_enable=YES.這里禁止匿名用戶上傳,所以不設(shè)置這兩項.
- write_enable=YES
#本地用戶上傳文件的umask
- local_umask=022
#使用上傳/下載日志,日志文件默認為/var/log/vsftpd.log,可以通過xferlog_file選項修改
- xferlog_enable=YES
#日志使用標(biāo)準(zhǔn)xferlog格式
- xferlog_std_format=YES
#login時的歡迎信息
- ftpd_banner=Welcome to KingArthur's FTP service.
#設(shè)置的話將覆蓋上面的ftpd_banner設(shè)置,用戶login時將顯示/etc/vsftpd/banner中的內(nèi)容
- banner_file=/etc/vsftpd/banner
#為YES則進入目錄時顯示此目錄下由message_file選項指定的文本文件(,默認為.message)的內(nèi)容
- dirmessage_enable=YES
#本地用戶login后所在目錄,若沒有設(shè)置此項,則本地用戶login后將在他的home目錄(/etc/passwd的第六個字段)中.匿名用戶的對應(yīng)選項是anon_root
- local_root=/var/ftp
#設(shè)置為YES則下面的控制有效
- chroot_list_enable=YES
#若為NO,則記錄在chroot_list_file選項所指定的文件(默認是/etc/vsftpd.chroot_list)中的用戶將被chroot在登錄后所在目錄中,無法離開.如果為YES,則所記錄的用戶將不被chroot.這里選擇YES.
- chroot_local_user=YES
#若設(shè)置為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!!
#p#
#服務(wù)器以standalong模式運行,這樣可以進行下面的控制
- listen=YES
#匿名用戶的傳輸比率(b/s)
- anon_max_rate=51200
#本地用戶的傳輸比率(b/s)
- local_max_rate=512000
#可接受的最大client數(shù)目
- max_clients=100
#每個ip的最大client數(shù)目
- 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 可以使用系統(tǒng)自帶的文件/etc/vsftpd.chroot_list內(nèi)容為空接著建立系統(tǒng)用戶ftpuser,將他加入ftp組并將 /etc/passwd中他的記錄的最后一個字段改成/sbin/nologin(禁止本地登錄). 設(shè)置/var/ftp的所有者和所有組為root,權(quán)限為755設(shè)置/var/ftp/pub的所有者為root,所有組為ftp,權(quán)限為775
至此vsftpd的基本配置就完成了.這里我們接受匿名用戶anonymous和本地用戶ftpuser的請求.anonymous只能下載, ftpuser可以下載和上傳.他們登錄后均在/var/ftp目錄下且無法離開這個目錄(被chroot了).ftpuser可以在 /var/ftp/pub目錄中建立目錄和上傳文件,上傳文件的權(quán)限為755(設(shè)置了local_umask=022).匿名用戶的傳輸比率為 50kb/s,ftpuser的傳輸比率為500kb/s.可聯(lián)接的最多客戶數(shù)為100,每ip可聯(lián)接的最多客戶數(shù)為5.如果需要使本地用戶ftpput 可以login,只需要將他加入/etc/vsftpd.user_list,要使他可以上傳,只需將他加入ftp組.接著我們可以在/var/ftp下的各個目錄(包括/var/ftp)下建立.message文件,這樣用戶進入這個目錄時vsftpd將顯示.message的內(nèi)容,你可以在這里面寫上歡迎信息或者注意事項等等.另外可以編輯/etc/vsftpd/banner,建立login時的歡迎信息,讓你的ftp更加個性化.
下面我們使用quota為ftpuser加入磁盤限額,避免惡意用戶用垃圾數(shù)據(jù)塞滿你的硬盤.假設(shè)/var/ftp在根分區(qū)/(/dev/hda5)中,則將/etc/fstab中根分區(qū)的記錄的第4個字段改成defaults,usrquota,這樣這條記錄看起來類似這樣:
- LABEL=/ / ext3 defaults,usrquota 1 1
接著重啟系統(tǒng)后輸入下列命令:
quotacheck -acu #檢查啟用了配額的文件系統(tǒng),并為每個文件系統(tǒng)建立一個當(dāng)前磁盤用來的表
quotacheck -avu #生成每個啟用了配額的文件系統(tǒng)的當(dāng)前磁盤用量表
edquota ftpuser #為用戶ftpuser設(shè)置磁盤配額
這時系統(tǒng)會在默認文本編輯器(vi)中打開配額文件,顯示類似這樣:
- Disk quotas for user ftpuser (uid 501):
- Filesystem blocks soft hard inodes soft hard
- /dev/hda5 0 0 0 0 0 0
第一列是啟用了配額的文件系統(tǒng)的名稱。第二列顯示了用戶當(dāng)前使用的塊數(shù)。隨后的兩列用來設(shè)置用戶在該文件系統(tǒng)上的軟硬塊限度。inodes列顯示了用戶當(dāng)前使用的i節(jié)點數(shù)量。最后兩列用來設(shè)置用戶在該文件系統(tǒng)上的軟硬i節(jié)點限度.硬限是用戶或組群可以使用的磁盤空間的絕對最大值。達到了該限度后,磁盤空間就不能再被用戶或組群使用了。軟限定義可被使用的最大磁盤空間量。和硬限不同的是,軟限可以在一段時期內(nèi)被超過。這段時期被稱為過渡期(grace period)。過渡期可以用秒鐘、分鐘、小時、天數(shù)、周數(shù)、或月數(shù)表示。如果以上值中的任何一個被設(shè)置為0,那個限度就不會被設(shè)置.按你的需要修改后存盤推出. 要校驗用戶的配額是否被設(shè)置,使用以下命令:
- quota testuser
接著使用edquota -t來設(shè)置過渡期(grace period) 和另一個 edquota 命令相似,這個命令也會在文本編輯器中打開當(dāng)前的文件系統(tǒng)配額:
- 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
按你的需要修改后存盤退出
這樣我們就成功的為ftpuser增添了磁盤配額.而一個比較完整的FTP站點也配置完成了。
【編輯推薦】