vsftp建立個人ftp站點

用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的基本配置就完成了.這裏我們接受匿名用戶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
按你的需要修改後存盤退出

這樣我們就成功的爲ftpuser增添了磁盤配額.而一個比較完整的FTP站點也配置完成了

vsftp 從XINETD
中獨立出來,並將設定檔從/etc/vsftpd.conf 之中移到/etc/vsftpd/vsftpd.conf。 爲什麼做這樣的改變?可以想見的是vsftp
已有獨立運作的能力,不需要XINETD 來做更進一步的管控,並且類似sendmail、httpd、ssh、samba 等,將設定文件的放入/etc
下獨立的目錄。 FTP 分爲兩類,一種爲PORT FTP,也就是一般的FTP 另一類是PASVFTP,分述如下: PORT FTP
這是一般形式的FTP,首先會建立控制頻道,默認值是port 21,也就是跟port 21 建立聯機,並透過此聯機下達指令。第二,由FTP server
端會建立數據傳輸頻道,默認值爲20,也就是跟port 20 建立聯機,並透過port 20 作數據的傳輸。 PASV FTP 跟PORT FTP
類似,首先會建立控制頻道,默認值是port 21,也就是跟port 21 建立聯機,並透過此聯機下達指令。第二,會由client
端做出數據傳輸的請求,包括數據傳輸port 的數字。 這兩者的差異爲何?PORT FTP 當中的數據傳輸port 是由FTP server 指定,而PASV
FTP 的數據傳輸port 是由FTP client 決定。通常我們使用PASV FTP,是在有防火牆的環境之下,透過client 與server
的溝通,決定數據傳輸的port。 3.2.2 範例 3.2.1. 直接啓動VSFTP 服務 這個範例是套用RedHat 的預設範例,直接啓動vsftp。
[root@relay vsftpd]# /sbin/service vsftpd start Starting vsftpd for vsftpd: OK ]
3.2.2. 更換port 提供服務:將預設的port 21 更換爲2121 爲了安全,或是以port 來區隔不同的ftp 服務,我們可能會將ftp port
改爲21 之外的port,那麼,可參考以下步驟。 Step1. 修改/etc/vsftpd/vsftpd.conf 新增底下一行
listen_port=2121 Step2. 重新啓動vsftpd [root@home vsftpd]# /sbin/service vsftpd
restart Shutting down vsftpd: OK ] Starting vsftpd for vsftpd: OK ] 3.2.3.
特定使用者peter、john 不得變更目錄 使用者的預設目錄爲/home/username,若是我們不希望使用者在ftp 時能夠
切換到上一層目錄/home,則可參考以下步驟。 Step1. 修改/etc/vsftpd/vsftpd.conf 將底下三行
#chroot_list_enable=YES # (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list 改爲 chroot_list_enable=YES # (default
follows) chroot_list_file=/etc/vsftpd/chroot_list Step2. 新增一個檔案:
/etc/vsftpd/chroot_list 內容增加兩行: peter john Step3. 重新啓動vsftpd [root@home vsftpd]#
/sbin/service vsftpd restart Shutting down vsftpd: OK ] Starting vsftpd for
vsftpd: OK ] 若是peter 欲切換到根目錄以外的目錄,則會出現以下警告: ftp> cd /home 550 Failed to
change directory. 3.2.4. 取消anonymous 登入 若是讀者的主機不希望使用者匿名登入,則可參考以下步驟。 Step1.
修改/etc/vsftpd/vsftpd.conf 將 anonymous_enable=YES 改爲 anonymous_enable=NO Step2.
重新啓動vsftpd [root@home vsftpd]# /sbin/service vsftpd restart Shutting down
vsftpd: OK ] Starting vsftpd for vsftpd: OK ] 3.2.5.
安排歡迎話語若是我們希望使用者在登入時,能夠看到歡迎話語,可能包括對該主機的說明,或是目錄的介紹,可參考以下步驟。首先確定在/etc/vsftpd/vsftpd.conf
當中是否有底下這一行 dirmessage_enable=YES RedHat9 的默認值是有上面這行的。 接着,在各目錄之中,新增名爲.message
的檔案,再這邊假設有一個使用者test1,且此使用者的根目錄下有個目錄名爲abc,那首先我們在/home/test1 之下新增.message,內容如下:
Hello~ Welcome to the home directory This is for test only...
接着,在/home/test1/abc 的目錄下新增.message,內容如下: Welcome to abc's directory This is
subdir... 那麼,當使用者test1 登入時,會看到以下訊息: 230- Hello~ Welcome to the home directory
230- 230- This is for test only... 230- 若是切換到abc 的目錄,則會出現以下訊息: 250- Welcome to
abc's directory 250- 250- This is subdir ... 3.2.6. 對於每一個聯機,以獨立的process
來運作一般啓動vsftp 時,我們只會看到一個名爲vsftpd 的process 在運作,但若是讀者希望每一個聯機,都能以獨立的process來呈現,則可
執行以下步驟。

Step1. 修改/etc/vsftpd/vsftpd.conf 新增底下一行 setproctitle_enable=YES

Step2. 重新啓動vsftpd [root@home vsftpd]# /sbin/service vsftpd restart Shutting down
vsftpd: OK ] Starting vsftpd for vsftpd: OK ] 使用ps -ef 的指令,可以看告不同使用者聯機的情形,如下圖所示:
[root@home vsftpd]# ps -ef|grep ftp root 2090 1 0 16:41 pts/0 00:00:00 vsftpd:
LISTENER nobody 2120 2090 0 17:18 ? 00:00:00 vsftpd: 192.168.10.244: connected
test1 2122 2120 0 17:18 ? 00:00:00 vsftpd: 192.168.10.244/test1: IDLE nobody
2124 2090 0 17:19 ? 00:00:00 vsftpd: 192.168.10.244: connected test2 2126 2124 0
17:19 ? 00:00:00 vsftpd: 192.168.10.244/test2: IDLE root 2129 1343 0 17:20 pts/0
00:00:00 grep ftp [root@home vsftpd]# 3.2.7.
限制傳輸檔案的速度:本機的使用者最高速度爲200KBytes/s,匿名登入者所能使用的最高速度爲50KBytes/s Step1.
修改/etc/vsftpd/vsftpd.conf 新增底下兩行 anon_max_rate=50000 local_max_rate=200000
Step2. 重新啓動vsftpd [root@home vsftpd]# /sbin/service vsftpd restart Shutting down
vsftpd: OK ] Starting vsftpd for vsftpd: OK ] 在這邊速度的單位爲Bytes/s,其中anon_max_rate
所限制的是匿名登入的 使用者,而local_max_rate 所限制的是本機的使用者。VSFTPD 對於速度的限
制,範圍大概在80%到120%之間,也就是我們限制最高速度爲100KBytes/s, 但實際的速度可能在80KBytes/s 到120KBytes/s
之間,當然,若是頻寬不足 時,數值會低於此限制。 3.2.8. 針對不同的使用者限制不同的速度:假設test1
所能使用的最高速度爲250KBytes/s,test2 所能使用的最高速度爲500KBytes/s。 Step1.
修改/etc/vsftpd/vsftpd.conf 新增底下一行 user_config_dir=/etc/vsftpd/userconf Step2.
新增一個目錄:/etc/vsftpd/userconf mkdir /etc/vsftpd/userconf Step3.
在/etc/vsftpd/userconf 之下新增一個名爲test1 的檔案 內容增加一行: local_max_rate=250000 Step4.
在/etc/vsftpd/userconf 之下新增一個名爲test2 的檔案 內容增加一行: local_max_rate=500000 Step5.
重新啓動vsftpd [root@home vsftpd]# /sbin/service vsftpd restart Shutting down
vsftpd: OK ] Starting vsftpd for vsftpd: OK ] 3.2.9-1. 建置一個防火牆下的ftp
server,使用PORT FTP mode:預設的ftp port:21 以及ftp data port:20 啓動VSFTPD
之後執行以下兩行指令,只允許port 21 以及port 20 開放,其它關閉。 iptables -A INPUT -p tcp -m multiport
--dport 21,20 -j ACCEPT iptables -A INPUT -p tcp -j REJECT --reject-with
tcp-reset 3.2.9-2. 建置一個防火牆下的ftp server,使用PORT FTP mode: ftp port:2121 以及ftp data
port:2020 Step1. 執行以下兩行指令,只允許port 2121 以及port 2020 開放,其它關閉。 iptables -A INPUT -p
tcp -m multiport --dport 2121,2020 -j ACCEPT iptables -A INPUT -p tcp -j REJECT
--reject-with tcp-reset Step2. 修改/etc/vsftpd/vsftpd.conf 新增底下兩行 listen_port=2121
ftp_data_port=2020 Step3. 重新啓動vsftpd [root@home vsftpd]# /sbin/service vsftpd
restart Shutting down vsftpd: OK ] Starting vsftpd for vsftpd: OK ] 在這邊要注意,8、9
兩個例子中,ftp client(如cuteftp)的聯機方式不能夠選擇passive mode,否則無法建立數據的聯機。也就是讀者可以連上ftp
server,但是執行ls、get 等等的指令時,便無法運作。 3.2.10. 建置一個防火牆下的ftp server,使用PASS FTP mode: ftp
port:2121 以及ftp data port 從9981 到9986。 Step1. 執行以下兩行指令,只允許port 2121 以及port
9981-9990 開放,其它關閉。 iptables -A INPUT -p tcp -m multiport --dport
2121,9981,9982,9983,9984,9985,9986,9987,9988,9989,9990 -j ACCEPT iptables -A
INPUT -p tcp -j REJECT --reject-with tcp-reset Step2. 修改/etc/vsftpd/vsftpd.conf
新增底下四行 listen_port=2121 pasv_enable=YES pasv_min_port=9981 pasv_max_port=9986
Step3. 重新啓動vsftpd [root@home vsftpd]# /sbin/service vsftpd restart Shutting down
vsftpd: OK ] Starting vsftpd for vsftpd: OK ] 在這邊要注意,在10 這個例子中,ftp
client(如cuteftp)的聯機方式必須選擇passive mode,否則無法建立數據的聯機。也就是讀者可以連上ftp server,但是執行ls,get
等等的指令時,便無法運作。 3.2.11. 將vsftpd 與TCP_wrapper 結合若是讀者希望直接在/etc/hosts.allow
之中定義允許或是拒絕的來源地址,可執行以下步驟。這是簡易的防火牆設定。 Step1. 確定/etc/vsftpd/vsftpd.conf
之中tcp_wrappers 的設定爲YES,如下圖所 示: tcp_wrappers=YES 這是RedHat9 的默認值,基本上不需修改。 Step2.
重新啓動vsftpd [root@home vsftpd]# /sbin/service vsftpd restart Shutting down
vsftpd: OK ] Starting vsftpd for vsftpd: OK ] Step3.
設定/etc/hosts.allow,譬如提供111.22.33.4 以及10.1.1.1 到10.1.1.254 連 線,則可做下圖之設定: vsftpd :
111.22.33.4 10.1.1. : allow ALL : ALL : DENY 3.2.12. 將vsftpd 併入XINETD
若是讀者希望將vsftpd 併入XINETD 之中,也就是7.x 版的預設設定,那 麼讀者可以執行以下步驟。 Step1.
修改/etc/vsftpd/vsftpd.conf 將 listen=YES 改爲 listen=NO Step2. 新增一個檔案:
/etc/xinetd.d/vsftpd 內容如下: service vsftpd { disable = no socket_type = stream
wait = no user = root server = /usr/sbin/vsftpd port = 21 log_on_success += PID
HOST DURATION log_on_failure += HOST } Step3. 重新啓動xinetd [root@home vsftpd]#
/sbin/service xinetd restart Stopping xinetd: OK ] Starting xinetd: OK ] 3.2.3
設定檔說明在範例中,有些省略的設定可以在這邊找到,譬如聯機的總數、同一個位址的聯機數、顯示檔案擁有者的名稱等等,希望讀者細讀後,可以做出最適合自己的設定。格式
vsftpd.conf 的內容非常單純,每一行即爲一項設定。若是空白行或是開頭爲#的一行,將會被忽略。內容的格式只有一種,如下所示 option=value
要注意的是,等號兩邊不能加空白,不然是不正確的設定。 ===ascii 設定=====================
ascii_download_enable 管控是否可用ASCII 模式下載。默認值爲NO。 ascii_upload_enable 管控是否可用ASCII
模式上傳。默認值爲NO。 ===個別使用者設定=================== chroot_list_enable
如果啓動這項功能,則所有的本機使用者登入均可進到根目錄之外的數據夾,除了列 在/etc/vsftpd.chroot_list 之中的使用者之外。默認值爲NO。
userlist_enable 用法:YES/NO 若是啓動此功能,則會讀取/etc/vsftpd.user_list
當中的使用者名稱。此項功能可以在詢問密碼前就出現失敗訊息,而不需要檢驗密碼的程序。默認值爲關閉。 userlist_deny 用法:YES/NO
這個選項只有在userlist_enable 啓動時纔會被檢驗。如果將這個選項設爲YES,則在/etc/vsftpd.user_list 中的使用者將無法登入
若設爲NO , 則只有在 /etc/vsftpd.user_list 中的使用者才能登入。而且此項功能可以在詢問密碼前就出現錯誤訊息,而不需要檢驗密碼的程序。
user_config_dir
定義個別使用者設定文件所在的目錄,例如定義user_config_dir=/etc/vsftpd/userconf,且主機上有使用者test1,test2,那我們可以在user_config_dir
的目錄新增文件名爲test1 以及test2。若是test1 登入,則會讀取user_config_dir 下的test1 這個檔案內的設定。默認值爲無。
===歡迎語設定===================== dirmessage_enable
如果啓動這個選項,使用者第一次進入一個目錄時,會檢查該目錄下是否有.message這個檔案,若是有,則會出現此檔案的內容,通常這個檔案會放置歡迎話語,或是對該目錄的說明。默認值爲開啓。
banner_file 當使用者登入時,會顯示此設定所在的檔案內容,通常爲歡迎話語或是說明。默認值爲無。 ftpd_banner
這邊可定義歡迎話語的字符串,相較於banner_file 是檔案的形式,而ftpd_banner 是字串的格式。預設爲無
===特殊安全設定==================== chroot_local_user
如果設定爲YES,那麼所有的本機的使用者都可以切換到根目錄以外的數據夾。預設值爲NO。 hide_ids
如果啓動這項功能,所有檔案的擁有者與羣組都爲ftp,也就是使用者登入使用ls -al之類的指令,所看到的檔案擁有者跟羣組均爲ftp。默認值爲關閉。
ls_recurse_enable 若是啓動此功能,則允許登入者使用ls -R 這個指令。默認值爲NO。 write_enable 用法:YES/NO
這個選項可以控制FTP 的指令是否允許更改file system,譬如STOR、DELE、 RNFR、RNTO、MKD、RMD、APPE
以及SITE。預設是關閉。 setproctitle_enable 用法:YES/NO 啓動這項功能,vsftpd 會將所有聯機的狀況已不同的process
呈現出來,換句話說,使用ps -ef 這類的指令就可以看到聯機的狀態。默認值爲關閉。 tcp_wrappers 用法:YES/NO 如果啓動,則會將vsftpd
與tcp wrapper 結合,也就是可以在/etc/hosts.allow 與/etc/hosts.deny 中定義可聯機或是拒絕的來源地址。
pam_service_name 這邊定義PAM 所使用的名稱,預設爲vsftpd。 secure_chroot_dir
這個選項必須指定一個空的數據夾且任何登入者都不能有寫入的權限,當vsftpd 不需要file system
的權限時,就會將使用者限制在此數據夾中。默認值爲/usr/share/empty ===紀錄文件設定=====================
xferlog_enable 用法:YES/NO 如果啓動,上傳與下載的信息將被完整紀錄在底下xferlog_file 所定義的檔案中。預設爲開啓。
xferlog_file 這個選項可設定紀錄文件所在的位置,默認值爲/var/log/vsftpd.log。 xferlog_std_format
如果啓動,則紀錄文件將會寫爲xferlog 的標準格式,如同wu-ftpd 一般。默認值爲關閉。 ===逾時設定======================
accept_timeout 接受建立聯機的逾時設定,單位爲秒。默認值爲60。 connect_timeout 響應PORT
方式的數據聯機的逾時設定,單位爲秒。默認值爲60。 data_connection_timeout 建立數據聯機的逾時設定。默認值爲300 秒。
idle_session_timeout 發呆的逾時設定,若是超出這時間沒有數據的傳送或是指令的輸入,則會強迫斷線,單位爲秒。默認值爲300。
===速率限制====================== anon_max_rate 匿名登入所能使用的最大傳輸速度,單位爲每秒多少bytes,0
表示不限速度。默認值爲0。 local_max_rate 本機使用者所能使用的最大傳輸速度,單位爲每秒多少bytes,0 表示不限速度。預設值爲0。
===新增檔案權限設定================== anon_umask 匿名登入者新增檔案時的umask 數值。默認值爲077。
file_open_mode 上傳檔案的權限,與chmod 所使用的數值相同。默認值爲0666。 local_umask 本機登入者新增檔案時的umask
數值。默認值爲077。 ===port 設定====================== connect_from_port_20 用法:YES/NO
若設爲YES,則強迫ftp-data 的數據傳送使用port 20。默認值爲YES。 ftp_data_port 設定ftp
數據聯機所使用的port。默認值爲20。 listen_port FTP server 所使用的port。默認值爲21。 pasv_max_port
建立資料聯機所可以使用port 範圍的上界,0 表示任意。默認值爲0。 pasv_min_port 建立資料聯機所可以使用port 範圍的下界,0
表示任意。默認值爲0。 ===其它======================== anon_root 使用匿名登入時,所登入的目錄。默認值爲無。
local_enable 用法:YES/NO 啓動此功能則允許本機使用者登入。默認值爲YES。 local_root
本機使用者登入時,將被更換到定義的目錄下。默認值爲無。 text_userdb_names 用法:YES/NO 當使用者登入後使用ls -al
之類的指令查詢該檔案的管理權時,預設會出現擁有者的UID,而不是該檔案擁有者的名稱。若是希望出現擁有者的名稱,則將此功能開啓。默認值爲NO。
pasv_enable 若是設爲NO,則不允許使用PASV 的模式建立數據的聯機。默認值爲開啓。
===更換檔案所有權===================chown_uploads
用法:YES/NO 若是啓動,所有匿名上傳數據的擁有者將被更換爲chown_username當中所設定的使用者。這樣的選項對於安全及管理,是很有用的。默認值爲NO。 chown_username這裏可以定義當匿名登入者上傳檔案時,該檔案的擁有者將被置換的使用者名稱。預設值爲root。
===guest 設定=====================guest_enable
用法:YES/NO 若是啓動這項功能,所有的非匿名登入者都視爲guest。默認值爲關閉。 guest_username
這裏將定義guest 的使用者名稱。默認值爲ftp。
===anonymous 設定================== anonymous_enable
用法:YES/NO 管控使否允許匿名登入,YES 爲允許匿名登入,NO 爲不允許。默認值爲YES。 no_anon_password
若是啓動這項功能,則使用匿名登入時,不會詢問密碼。默認值爲NO。
anon_mkdir_write_enable
用法:YES/NO
如果設爲YES,匿名登入者會被允許新增目錄,當然,匿名使用者必須要有對上層目錄的寫入權。默認值爲NO。
anon_other_write_enable
用法:YES/NO 如果設爲YES,匿名登入者會被允許更多於上傳與建立目錄之外的權限,譬如刪除或是更名。默認值爲NO。
anon_upload_enable
用法:YES/NO 如果設爲YES,匿名登入者會被允許上傳目錄的權限,當然,匿名使用者必須要有對上層目錄的寫入權。默認值爲NO。
anon_world_readable_only
用法:YES/NO 如果設爲YES,匿名登入者會被允許下載可閱讀的檔案。默認值爲YES。
ftp_username 定義匿名登入的使用者名稱。默認值爲ftp。
deny_email_enable
若是啓動這項功能,則必須提供一個檔案/etc/vsftpd.banner_emails,內容爲email
address。若是使用匿名登入,則會要求輸入email address,若輸入的email address 在此檔案內,則不允許聯機。默認值爲NO。
===Standalone 選項================== listen
用法:YES/NO 若是啓動,則vsftpd將會以獨立運作的方式執行,若是vsftpd 獨立執行,如RedHat9的默認值,則必須啓動 若是vsftpd 包含在xinetd之中,則必須關閉此功能,如RedHat8。在RedHat9 的默認值爲YES。 listen_address 若是vsftpd 使用standalone的模式,可使用這個參數定義使用哪個IP address 提供這項服務,若是主機上只有定義一個IP address,則此選項不需使用,若是有多個IP
address,可定義在哪個IP address 上提供ftp 服務。若是不設定,則所有的IP address均會提供此服務。默認值爲無。
max_clients 若是vsftpd 使用standalone 的模式,可使用這個參數定義最大的總聯機數。超過這個數目將會拒絕聯機,0表示不限。默認值爲0。 max_per_ip 若是vsftpd 使用standalone 的模式,可使用這個參數定義每個ip address所可以聯機的數目。超過這個數目將會拒絕聯機,0 表示不限。默認值爲0。
=============================
3.2.4 FTP數字代碼的意義
110 重新啓動標記應答。
120 服務在多久時間內ready。
125 數據鏈路埠開啓,準備傳送。
150 文件狀態正常,開啓數據連接端口。
200 命令執行成功。
202 命令執行失敗。
211 系統狀態或是系統求助響應。
212 目錄的狀態。
213 文件的狀態。
214 求助的訊息。
215 名稱系統類型。
220 新的聯機服務ready。
221 服務的控制連接埠關閉,可以註銷。
225 數據連結開啓,但無傳輸動作。
226 關閉數據連接端口,請求的文件操作成功。
227 進入passive mode。
230 使用者登入。
250 請求的文件操作完成。
257 顯示目前的路徑名稱。
331 用戶名稱正確,需要密碼。
332 登入時需要賬號信息。
350 請求的操作需要進一部的命令。
421 無法提供服務,關閉控制連結。
425 無法開啓數據鏈路。
426 關閉聯機,終止傳輸。
450 請求的操作未執行。
451 命令終止:有本地的錯誤。
452 未執行命令:磁盤空間不足。
500 格式錯誤,無法識別命令。
501 參數語法錯誤。
502 命令執行失敗。
503 命令順序錯誤。
504 命令所接的參數不正確。
530 未登入。
532 儲存文件需要賬戶登入。
550 未執行請求的操作。
551 請求的命令終止,類型未知。
552 請求的文件終止,儲存位溢出。
553 未執行請求的的命令,名稱不正確。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章