VSFTPD 引數知多少(linux FTP 引數)
風雨夜,未可歇。獨自憑欄,愁緒斷腸耶。縱然晴空萬里處,何處落歸葉!
--你奶奶個球啊,怎麼限制使用者訪問根目錄還沒限制成功呢!小雨你還稀里裡裡下個不停~讓不讓我回家了!
問題無法處理的那一刻,你是否也會像我一樣,變成一個猴子~但是不活蹦亂跳了,只剩抓耳撓腮了!
為了避免以後再出現這個問題。得學習,得總結,得成長,得吃飯~餓死我了!
先來看看VSFTP配置檔案中各引數的意義:
local_enable=YES # 是否允許本地使用者登入 yes=允許 no= 不允許
write_enable=YES # 是否允許登入FTP後的使用者,對FTP檔案系統進行更改,涉及到命令包括STOR, DELE, RNFR, RNTO, MKD, RMD, APPE 和 SITE等。
local_umask=022 # 新建的檔案的許可權 為022 0代表 chmod o-0 也就是擁有所有許可權 2 代表chmod o-2 代表沒有寫許可權
匿名使用者配置
anonymous_enable=YES # 是否允許匿名登入 yes=允許 no= 不允許
ftp_username=ftp # 設定ftp匿名登入時的使用者名稱,預設 ftp
no_anon_password=YES # 匿名使用者登入不需要輸入密碼 預設 YES
deny_email_enable=YES # 以banned_email_file裡面的電子郵件為密碼的匿名使用者不能登入
anon_root # 匿名使用者登入後的預設目錄,不設定,預設為/var/ftp
anon_upload_enable=YES # 允許匿名登入使用者上傳檔案 預設NO
anon_mkdir_write_enable=YES # 允許匿名登入使用者建立目錄 預設NO
anon_other_write_enable=NO # 允許匿名使用者有較高的寫許可權包括 刪除目錄和重新命名等 預設NO
anon_world_readable_only=YES # 允許匿名使用者下載可讀檔案 預設YES , 設定為yes時只能下載不能直接在Ftp中閱讀。
chown_uploads=YES # 設定是否改變匿名使用者上傳檔案(非目錄)的屬主。預設值為NO。
其他全部使用者生效
dirmessage_enable=YES # 進入目錄顯示歡迎資訊 預設NO
dirlist_enable=YES # 是否允許使用者列出目錄等 預設 YES 如果設定為No ,所有列表命令都會返回"Permission denied"
dirmessage_enable=NO # 進入新目錄時是否顯示目錄資訊 預設No.
message_file=.... # 當dirmessage_enable=yes 時使用。進入新目錄時,指定返回哪個資訊檔案的內容
download_enable=YES # 是否允許下載 預設YES
cmds_allowed # 以逗號分隔的方式列出允許執行的命令,如:cmds_allowed=ls,pwd,PASV,RETR 等,其中USER, PASS and QUIT 等不受限制
deny_file # 以{..,..,..,..}方式列出禁止訪問的檔案或者路徑,如deny_file={*.mp4,*.mov} 預設空
SSL加密協議相關設定
allow_anon_ssl=NO # 是否允許SSL連線,啟用SSL後才可以使用此引數,預設NO
ssl_enable=NO # 是否啟用ssl 安全連線 預設NO 如果設定為yes,vsftpd將啟用openSSL,通過SSL支援安全連線和資料傳輸。
force_local_logins_ssl=YES # 是否對非匿名使用者登入加密 預設yes
force_local_data_ssl=YES # 是否對非匿名使用者傳輸加密 預設yes
force_anon_logins_ssl=NO #匿名使用者登入時是否加密 預設為no
force_anon_data_ssl=NO #匿名使用者資料傳輸時是否加密 預設為no
ssl_sslv2=NO # 是否開戶sslv2協議。 預設NO ,如果設定為yes,前提為ssl_enable=YES。
ssl_sslv3=NO # 是否開戶sslv3協議。 預設NO ,如果設定為yes,前提為ssl_enable=YES。
dsa_cert_file # 為ssl加密連線指定dsa證書位置 預設 無
ssl_ciphers # 是否指定加密方式 預設 DES-CBC3-SHA
日誌檔案
dual_log_enable=NO # 是否啟用雙日誌 預設NO 如果設定為yes,則分別在/var/log/xferlog、var/log/vsftpd.log裡記錄日誌。前一個為wu-ftpd格式,可被通用工具分析,後一個為vsftpd的專用格式。
xferlog_enable=YES # 啟用上傳和下傳的日誌 依賴 引數xferlog_std_format的設定
xferlog_std_format=YES # 使用標準格式記錄上傳、下傳日誌
syslog_enable=NO # 是否關閉vsftpd的日誌並記錄系統日誌 預設NO ,如果設定為YES,系統日誌會記錄到/var/log/vsftpd.log,而VSFTPD的日誌程式將停止。
傳輸模式
ascii_download_enable=YES # 是否啟用ascii模式下載檔案 預設 NO
ascii_upload_enable=YES # 是否啟用ascii模式上傳檔案 預設 NO
async_abor_enable=NO # 是否啟用強制中止傳輸檔案 預設 NO 啟用此引數是為了避免中止傳輸時的客戶端掛死。只有特殊情況下才使用。
background=NO # 是否後臺啟動vsftpd監聽 預設 NO 啟用後,VSFTPD將監聽程式置於後臺,當訪問vsftpd服務時,console 會返回到shell 模式
check_shell=YES # 檢測是否有可用的shell環境 預設 YES
userlist_enable=YES # 啟用user_list 檔案的檢查 預設 NO 為YES時檢查user_list檔案中的使用者列表,為NO 時不檢測該檔案
userlist_deny=NO # 只有在userlist_enable 啟用時有效,預設YES . yes 表示user_list檔案中的使用者不允許登入ftp,NO表示只允許user_list檔案中的使用者登入FTP
超時設定
accept_timeout # 嘗試連線時間 預設 60 單位 秒
data_connection_timeout # 資料傳輸延遲的最大時間,超過限制,會話將被終止 預設 300 單位 秒
idle_session_timeout # ftp連線建立後,兩次ftp命令之間的時間間隔,超時會話將被終止 預設300 單位 秒
傳輸速率設定
anon_max_rate # 匿名使用者允許的最大傳輸速率 預設 0 單位 位元組/秒
local_max_rate # 本地認證使用者的最大傳輸速率 預設 0 單位 位元組/秒
使用者建立的檔案的許可權
anon_umask # 匿名使用者建立的檔案的預設許可權 預設 022 0代表 chmod o-0 也就是擁有所有許可權 2 代表chmod o-w 代表沒有寫許可權
local_umask # 本地使用者建立的檔案的預設許可權 預設 022
連線數設定
max_clients # 允許的最大連線數 預設 0
max_per_ip # 單個IP允許的最大連線數 預設 0
埠設定
listen_port=21 # FTP伺服器建立連線所偵聽的埠 預設 21
ftp_data_port # 資料傳輸所使用的預設埠 預設 20
connect_from_port_20=YES # 指定FTP資料傳輸連線使用20埠 預設 NO 。設定為NO時,則進行資料連線時,所使用的埠由ftp_data_port指定。
pasv_max_port=0 # passive 模式下資料傳輸使用的埠上限 預設 0
pasv_mim_port=0 # passive 模式下資料傳輸使用的埠下限 預設 0
使用者訪問許可權
chroot_list_enable=YES # 是否改變使用者的根目錄(使用者登入後,預設是訪問使用者的家目錄,開啟後可指定到其他目錄) 預設 NO。 當設定為YES時,需要以root使用者做如下操作:
mkdir /etc/vsftpd/userconf;
cat >>$username<
local_root=$path
EOF
說明 "$username" 是需要改變預設根目錄的使用者比如使用者 aaa,$path 為你想要使用者aaa預設訪問的路徑 ,比如/data/aaa,前提是這個路徑存在
控制使用者是否允許切換到上級目錄
chroot_list_enable=YES # 設定是否啟用chroot_list_file配置項指定的使用者列表檔案。預設值為NO。
chroot_list_file=/etc/vsftpd/chroot_list #用於指定儲存使用者列表檔案,該檔案用於控制哪些使用者只可以訪問自己的根目錄,不可以訪問根路徑的上級路徑目錄。
chroot_local_user=YES #用於指定使用者列表檔案中的使用者是否允許切換到上級目錄。預設值為NO。
#通過搭配能實現以下幾種效果:
#①當chroot_list_enable=YES,chroot_local_user=YES時,在/etc/vsftpd/chroot_list檔案中列出的使用者,可以切換到根路徑的上級路徑;未在檔案中列出的使用者,則不能切換。
#②當chroot_list_enable=YES,chroot_local_user=NO時,在/etc/vsftpd/chroot_list檔案中列出的使用者,不能切換到根路徑的上級路徑;未在檔案中列出的使用者,則可以切換。
#③當chroot_list_enable=NO,chroot_local_user=YES時,所有的使用者均不能切換到使用者根路徑的上級路徑。
#④當chroot_list_enable=NO,chroot_local_user=NO時,所有的使用者均可以切換到使用者根路徑的上級路徑。
--你奶奶個球啊,怎麼限制使用者訪問根目錄還沒限制成功呢!小雨你還稀里裡裡下個不停~讓不讓我回家了!
問題無法處理的那一刻,你是否也會像我一樣,變成一個猴子~但是不活蹦亂跳了,只剩抓耳撓腮了!
為了避免以後再出現這個問題。得學習,得總結,得成長,得吃飯~餓死我了!
先來看看VSFTP配置檔案中各引數的意義:
local_enable=YES # 是否允許本地使用者登入 yes=允許 no= 不允許
write_enable=YES # 是否允許登入FTP後的使用者,對FTP檔案系統進行更改,涉及到命令包括STOR, DELE, RNFR, RNTO, MKD, RMD, APPE 和 SITE等。
local_umask=022 # 新建的檔案的許可權 為022 0代表 chmod o-0 也就是擁有所有許可權 2 代表chmod o-2 代表沒有寫許可權
匿名使用者配置
anonymous_enable=YES # 是否允許匿名登入 yes=允許 no= 不允許
ftp_username=ftp # 設定ftp匿名登入時的使用者名稱,預設 ftp
no_anon_password=YES # 匿名使用者登入不需要輸入密碼 預設 YES
deny_email_enable=YES # 以banned_email_file裡面的電子郵件為密碼的匿名使用者不能登入
anon_root # 匿名使用者登入後的預設目錄,不設定,預設為/var/ftp
anon_upload_enable=YES # 允許匿名登入使用者上傳檔案 預設NO
anon_mkdir_write_enable=YES # 允許匿名登入使用者建立目錄 預設NO
anon_other_write_enable=NO # 允許匿名使用者有較高的寫許可權包括 刪除目錄和重新命名等 預設NO
anon_world_readable_only=YES # 允許匿名使用者下載可讀檔案 預設YES , 設定為yes時只能下載不能直接在Ftp中閱讀。
chown_uploads=YES # 設定是否改變匿名使用者上傳檔案(非目錄)的屬主。預設值為NO。
其他全部使用者生效
dirmessage_enable=YES # 進入目錄顯示歡迎資訊 預設NO
dirlist_enable=YES # 是否允許使用者列出目錄等 預設 YES 如果設定為No ,所有列表命令都會返回"Permission denied"
dirmessage_enable=NO # 進入新目錄時是否顯示目錄資訊 預設No.
message_file=.... # 當dirmessage_enable=yes 時使用。進入新目錄時,指定返回哪個資訊檔案的內容
download_enable=YES # 是否允許下載 預設YES
cmds_allowed # 以逗號分隔的方式列出允許執行的命令,如:cmds_allowed=ls,pwd,PASV,RETR 等,其中USER, PASS and QUIT 等不受限制
deny_file # 以{..,..,..,..}方式列出禁止訪問的檔案或者路徑,如deny_file={*.mp4,*.mov} 預設空
SSL加密協議相關設定
allow_anon_ssl=NO # 是否允許SSL連線,啟用SSL後才可以使用此引數,預設NO
ssl_enable=NO # 是否啟用ssl 安全連線 預設NO 如果設定為yes,vsftpd將啟用openSSL,通過SSL支援安全連線和資料傳輸。
force_local_logins_ssl=YES # 是否對非匿名使用者登入加密 預設yes
force_local_data_ssl=YES # 是否對非匿名使用者傳輸加密 預設yes
force_anon_logins_ssl=NO #匿名使用者登入時是否加密 預設為no
force_anon_data_ssl=NO #匿名使用者資料傳輸時是否加密 預設為no
ssl_sslv2=NO # 是否開戶sslv2協議。 預設NO ,如果設定為yes,前提為ssl_enable=YES。
ssl_sslv3=NO # 是否開戶sslv3協議。 預設NO ,如果設定為yes,前提為ssl_enable=YES。
dsa_cert_file # 為ssl加密連線指定dsa證書位置 預設 無
ssl_ciphers # 是否指定加密方式 預設 DES-CBC3-SHA
日誌檔案
dual_log_enable=NO # 是否啟用雙日誌 預設NO 如果設定為yes,則分別在/var/log/xferlog、var/log/vsftpd.log裡記錄日誌。前一個為wu-ftpd格式,可被通用工具分析,後一個為vsftpd的專用格式。
xferlog_enable=YES # 啟用上傳和下傳的日誌 依賴 引數xferlog_std_format的設定
xferlog_std_format=YES # 使用標準格式記錄上傳、下傳日誌
syslog_enable=NO # 是否關閉vsftpd的日誌並記錄系統日誌 預設NO ,如果設定為YES,系統日誌會記錄到/var/log/vsftpd.log,而VSFTPD的日誌程式將停止。
傳輸模式
ascii_download_enable=YES # 是否啟用ascii模式下載檔案 預設 NO
ascii_upload_enable=YES # 是否啟用ascii模式上傳檔案 預設 NO
async_abor_enable=NO # 是否啟用強制中止傳輸檔案 預設 NO 啟用此引數是為了避免中止傳輸時的客戶端掛死。只有特殊情況下才使用。
background=NO # 是否後臺啟動vsftpd監聽 預設 NO 啟用後,VSFTPD將監聽程式置於後臺,當訪問vsftpd服務時,console 會返回到shell 模式
check_shell=YES # 檢測是否有可用的shell環境 預設 YES
userlist_enable=YES # 啟用user_list 檔案的檢查 預設 NO 為YES時檢查user_list檔案中的使用者列表,為NO 時不檢測該檔案
userlist_deny=NO # 只有在userlist_enable 啟用時有效,預設YES . yes 表示user_list檔案中的使用者不允許登入ftp,NO表示只允許user_list檔案中的使用者登入FTP
超時設定
accept_timeout # 嘗試連線時間 預設 60 單位 秒
data_connection_timeout # 資料傳輸延遲的最大時間,超過限制,會話將被終止 預設 300 單位 秒
idle_session_timeout # ftp連線建立後,兩次ftp命令之間的時間間隔,超時會話將被終止 預設300 單位 秒
傳輸速率設定
anon_max_rate # 匿名使用者允許的最大傳輸速率 預設 0 單位 位元組/秒
local_max_rate # 本地認證使用者的最大傳輸速率 預設 0 單位 位元組/秒
使用者建立的檔案的許可權
anon_umask # 匿名使用者建立的檔案的預設許可權 預設 022 0代表 chmod o-0 也就是擁有所有許可權 2 代表chmod o-w 代表沒有寫許可權
local_umask # 本地使用者建立的檔案的預設許可權 預設 022
連線數設定
max_clients # 允許的最大連線數 預設 0
max_per_ip # 單個IP允許的最大連線數 預設 0
埠設定
listen_port=21 # FTP伺服器建立連線所偵聽的埠 預設 21
ftp_data_port # 資料傳輸所使用的預設埠 預設 20
connect_from_port_20=YES # 指定FTP資料傳輸連線使用20埠 預設 NO 。設定為NO時,則進行資料連線時,所使用的埠由ftp_data_port指定。
pasv_max_port=0 # passive 模式下資料傳輸使用的埠上限 預設 0
pasv_mim_port=0 # passive 模式下資料傳輸使用的埠下限 預設 0
使用者訪問許可權
chroot_list_enable=YES # 是否改變使用者的根目錄(使用者登入後,預設是訪問使用者的家目錄,開啟後可指定到其他目錄) 預設 NO。 當設定為YES時,需要以root使用者做如下操作:
mkdir /etc/vsftpd/userconf;
cat >>$username<
EOF
說明 "$username" 是需要改變預設根目錄的使用者比如使用者 aaa,$path 為你想要使用者aaa預設訪問的路徑 ,比如/data/aaa,前提是這個路徑存在
控制使用者是否允許切換到上級目錄
chroot_list_enable=YES # 設定是否啟用chroot_list_file配置項指定的使用者列表檔案。預設值為NO。
chroot_list_file=/etc/vsftpd/chroot_list #用於指定儲存使用者列表檔案,該檔案用於控制哪些使用者只可以訪問自己的根目錄,不可以訪問根路徑的上級路徑目錄。
chroot_local_user=YES #用於指定使用者列表檔案中的使用者是否允許切換到上級目錄。預設值為NO。
#通過搭配能實現以下幾種效果:
#①當chroot_list_enable=YES,chroot_local_user=YES時,在/etc/vsftpd/chroot_list檔案中列出的使用者,可以切換到根路徑的上級路徑;未在檔案中列出的使用者,則不能切換。
#②當chroot_list_enable=YES,chroot_local_user=NO時,在/etc/vsftpd/chroot_list檔案中列出的使用者,不能切換到根路徑的上級路徑;未在檔案中列出的使用者,則可以切換。
#③當chroot_list_enable=NO,chroot_local_user=YES時,所有的使用者均不能切換到使用者根路徑的上級路徑。
#④當chroot_list_enable=NO,chroot_local_user=NO時,所有的使用者均可以切換到使用者根路徑的上級路徑。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25313300/viewspace-1381984/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux shell特殊引數Linux
- linux修改系統引數Linux
- linux,mtime引數的理解Linux
- 什麼是請求引數、表單引數、url引數、header引數、Cookie引數?一文講懂HeaderCookie
- [OS/Linux] Linux核心引數:net.core.somaxconn(高併發場景核心引數)Linux
- linux中main引數傳遞LinuxAI
- linux常用核心引數說明Linux
- Linux 引數代換 命令 xargsLinux
- python疑問5:位置引數,預設引數,可變引數,關鍵字引數,命名關鍵字引數區別Python
- 在Linux中,linux核心引數如何修改?Linux
- 12.MyBatis學習--對映檔案_引數處理_單個引數&多個引數&命名引數MyBatis
- linux核心引數優化重要項Linux優化
- linux匯出指定日期引數Linux
- Linux 中 grep -P引數的作用Linux
- Java對比有引數和無引數Java
- 引數配置
- python引數Python
- 超引數
- mt引數
- COMPATIBLE引數
- 常用的jvm配置引數 :永久區引數配置JVM
- nginx 常見引數以及重定向引數配置Nginx
- 引數匹配模型——Python學習之引數(二)模型Python
- 引數的定義和引數的傳遞
- c# 方法引數(傳值,傳引用,ref,out,params,可選引數,命名引數)C#
- Linux 虛擬記憶體引數配置Linux記憶體
- Oracle安裝相關Linux引數(轉)OracleLinux
- Bash變數和引數變數
- python變數和引數Python變數
- Nginx編譯引數大全 configure引數中文詳解Nginx編譯
- 函式引數 引數定義函式型別函式型別
- TypeScript 函式可選引數和預設引數TypeScript函式
- C技巧:結構體引數轉成不定引數結構體
- vue17自定義指令(有引數,無引數)Vue
- 引數匹配順序——Python學習之引數(三)Python
- postman 請求引數和 Spring Boot Controller 接受引數PostmanSpring BootController
- Python函式/動態引數/關鍵字引數Python函式
- 小程式內引數和掃碼引數統一
- livewire 中wire:click=test('中文引數')引數報錯