vmware環境下在linux中建立ftp伺服器
① 檢查是否成功安裝ftp相關的rpm軟體 rpm -qa | grep vsftpd
② 如果沒有安裝,那麼用rpm命令安裝,軟體基本上在第二張安裝盤上 命令: rpm -ivh 軟體名
③ 安裝完畢後配置ftp的主配置檔案vsftpd.conf,該檔案在/etc/vsftpd/資料夾下,開啟如下
④ 各條配置(以下內容拷貝自Jack.Tech_StoreRoom的部落格)
1.登入和對匿名使用者的設定
write_enable=YES //是否對登入使用者開啟寫許可權。屬全域性性設定。預設NO
local_enable=YES //是否允許本地使用者登入FTP伺服器。預設為NO
anonymous_enable=YES //設定是否允許匿名使用者登入FTP伺服器。預設為YES
ftp_username=ftp //定義匿名使用者的賬戶名稱,預設值為ftp。
no_anon_password=YES //匿名使用者登入時是否詢問口令。設定為YES,則不詢問。默
認NO
anon_world_readable_only=YES //匿名使用者是否允許下載可閱讀的文件,預設為YES。
anon_upload_enable=YES //是否允許匿名使用者上傳檔案。只有在write_enable設定為
YES時,該配置項才有效。而且匿名使用者對相應的目錄必須有寫許可權。預設為NO。
anon_mkdir_write_enable=YES //是否允許匿名使用者建立目錄。只有在write_enable設定為 YES時有效。且匿名使用者對上層目錄有寫入的許可權。預設為NO。
anon_other_write_enable=NO //若設定為YES,則匿名使用者會被允許擁有多於
上傳和建立目錄的許可權,還會擁有刪除和更名許可權。預設值為NO。
2.設定歡迎資訊
使用者登入FTP伺服器成功後,伺服器可向登入使用者輸出預設定的歡迎資訊。
ftpd_banner=Welcome to my FTP server.
//該配置項用於設定比較簡短的歡迎資訊。若歡迎資訊較多,則可使用banner_file配置項。
banner_file=/etc/vsftpd/banner
//設定使用者登入時,將要顯示輸出的檔案。該設定項將覆蓋ftpd_banner的設定。
dirmessage_enable=YES
//設定是否顯示目錄訊息。若設定為YES,則當使用者進入特定目錄(比如/var/ftp/linux)時,將顯示該目錄中的由message_file配置項指定的檔案(.message)中的內容。
message_file=.message //設定目錄訊息檔案。可將顯示資訊存入該檔案。該檔案需要放在 相應的目錄(比如/var/ftp/linux)下
3.設定使用者登入後所在的目錄
local_root=/var/ftp
// 設定本地使用者登入後所在的目錄。預設配置檔案中沒有設定該項,此時使用者登入FTP伺服器後,所在的目錄為該使用者的主目錄,對於root使用者,則為/root目錄。
anon_root=/var/ftp
//設定匿名使用者登入後所在的目錄。若未指定,則預設為/var/ftp目錄。
4.控制使用者是否允許切換到上級目錄
在預設配置下,使用者可以使用“cd…”命名切換到上級目錄。比如,若使用者登入後所在的目錄為/var/ftp,則在“ftp>”命令列 下,執行“cd…”命令後,使用者將切換到其上級目錄/var,若繼續執行該命令,則可進入Linux系統的根目錄,從而可以對整個Linux的檔案系統 進行操作。
若設定了write_enable=YES,則使用者還可對根目錄下的檔案進行改寫操作,會給系統帶來極大的安全隱患,因此,必須防止使用者切換到Linux的根目錄,相關的配置項如下:
chroot_list_enable=YES
// 設定是否啟用chroot_list_file配置項指定的使用者列表檔案。設定為YES則除了列在j/etc/vsftpd/chroot_list檔案中的的帳號外,所有登入的使用者都可以進入ftp根目錄之外的目錄。預設NO
chroot_list_file=/etc/vsftpd/chroot_list
// 用於指定使用者列表檔案,該檔案用於控制哪些使用者可以切換到FTP站點根目錄的上級目錄。
chroot_local_user=YES
// 用於指定使用者列表檔案中的使用者,是否允許切換到上級目錄。預設NO
注意:要對本地使用者檢視效果,需先設定local_root=/var/ftp
具體情況有以下幾種:
1)當chroot_list_enable=YES,chroot_local_user=YES時,在/etc/vsftpd/chroot_list檔案中列出的使用者,可以切換到上級目錄;未在檔案中列出的使用者,不能切換到站點根目錄的上級目錄。
2)當chroot_list_enable=YES,chroot_local_user=NO時,在/etc/vsftpd/chroot_list檔案中列出的使用者,不能切換到站點根目錄的上級目錄;未在檔案中列出的使用者,可以切換到上級目錄。
3)當chroot_list_enable=NO,chroot_local_user=YES時,所有使用者均不能切換到上級目錄。
4)當chroot_list_enable=NO,chroot_local_user=NO時,所有使用者均可以切換到上級目錄。
5)當使用者不允許切換到上級目錄時,登入後FTP站點的根目錄“/”是該FTP賬戶的主目錄,即檔案的系統的/var/ftp目錄。
5.設定訪問控制
(1)設定允許或不允許訪問的主機(見TBP14)
tcp_wrappers=YES用來設定vsftpd伺服器是否與tcp wrapper相結合,進行主機的訪問控制。預設設定為YES,vsftpd伺服器會檢查/etc/hosts.allow和/etc /hosts.deny中的設定,以決定請求連線的主機是否允許訪問該FTP伺服器。這兩個檔案可以起到簡易的防火牆功能。
比如,若要僅允許192.168.168.1~192.168.168.254的使用者,可以訪問連線vsftpd伺服器,則可在/etc/hosts.allow檔案中新增以下內容:
vsftpd:192.168.168.0/255.255.255.0 :allow
all:all:deny
(2)設定允許或不允許訪問的使用者
對使用者的訪問控制由/etc/vsftpd/user_list和/etc/vsftpd/ftpusers檔案來控制實現。相關配置命令如下:
userlist_enable=YES
// 決定/etc/vsftpd/user_list檔案是否啟用生效。YES則生效,NO不生效。
userlist_deny=YES
// 決定/etc/vsftpd/user_list檔案中的使用者是允許訪問還是不允許訪問。若設定為YES,則/etc/vsftpd/user_list 檔案中的使用者將不允許訪問FTP伺服器;若設定為NO,則只有vsftpd.user_list檔案中的使用者,才能訪問FTP伺服器。
6.設定訪問速度
anon_max_rate=0
//設定匿名使用者所能使用的最大傳輸速度,單位為b/s。若設定為0,則不受速度限制,此為預設值。
local_max_rate=0
// 設定本地使用者所能使用的最大傳輸速度。預設為0,不受限制。
7.定義使用者配置檔案
在vsftpd伺服器中,不同使用者還可使用不同的配置,這要通過使用者配置檔案來實現。
user_config_dir=/etc/vsftpd/userconf //用於設定使用者配置檔案所在的目錄。
設定了該配置項後,當使用者登入FTP伺服器時,系統就會到/etc/vsftpd/userconf目錄下讀取與當前使用者名稱相同的檔案,並根據檔案中的配 置命令,對當前使用者進行更進一步的配置。比如,利用使用者配置檔案,可實現對不同使用者進行訪問的速度進行控制,在各使用者配置檔案中,定義 local_max_rate配置,以決定該使用者允許的訪問速度。
8.與連線相關的設定
listen=YES
//設定vsftpd伺服器是否以standalone模式執行。以standalone模式執行是一種較好的方式,此時listen必須設定為YES, 此為預設值,建議不要更改。很多與伺服器執行相關的配置命令,需要此執行模式才有效。若設定為NO,則vsftpd不是以獨立的服務執行,要受 xinetd服務的管理控制,功能上會受限制。
max_clients=0
//設定vsftpd允許的最大連線數,預設為0,表示不受限制。若設定為150時,則同時允許有150個連線,超出的將拒絕建立連線。只有在以standalone模式執行時才有效。
max_per_ip=0
// 設定每個IP地址允許與FTP伺服器同時建立連線的數目。預設為0,不受限制。通常可對此配置進行設定,防止同一個使用者建立太多的連線。只有在以standalone模式執行時才有效。
listen_address=IP地址
//設定在指定的IP地址上偵聽使用者的FTP請求。若不設定,則對伺服器所繫結的所有IP地址進行偵聽。只有在以standalone模式執行時才有效。 對於只繫結了一個IP地址的伺服器,不需要配置該項,預設情況下,配置檔案中沒有該配置項。若伺服器同時繫結了多個IP地址,則應通過該配置項,指定在哪 個IP地址上提供FTP服務,即指定FTP伺服器所使用的IP地址。
注意:設定此值前後,可以通過netstat -tnl對比埠的監聽情況
accept_timeout=60
//設定建立被動(PASV)資料連線的超時時間,單位為秒,預設值為60。
connect_timeout=60
// PORT方式下建立資料連線的超時時間,單位為秒。
data_connection_timeout=300
//設定建立FTP資料連線的超時時間,預設為300秒。
idle_session_timeout=600
//設定多長時間不對FTP伺服器進行任何操作,則斷開該FTP連線,單位為秒,預設為600秒。即設定發呆的逾時時間,在這個時間內,若沒有資料傳送或指令的輸入,則會強行斷開連線。
pam_service_name=vsftpd
//設定在PAM所使用的名稱,預設值為vsftpd。
setproctitle_enable=NO|YES
//設定每個與FTP伺服器的連線,是否以不同的程式表現出來,預設值為NO,此時只有一個名為vsftpd的程式。若設定為YES,則每個連線都會有一個vsftpd程式,使用“ps -ef|grep ftp”命令可檢視到詳細的FTP連線資訊。安全起見,建議關閉。
9.FTP工作方式與埠設定
(1)FTP工作方式簡介
FTP的工作方式有兩種,一種是PORT FTP,另一種是PASV FTP。下面介紹其工作方式。
二者的區別在於PORT FTP的資料傳輸埠是由FTP伺服器指定的,而PASV FTP則是由FTP客戶端指定的,而且每次資料連線所使用的埠號都不同。正因為如此,所以在CuteFTP等FTP客戶端軟體中,其連線型別設定項中有PORT和PASV兩種選擇。
當FTP伺服器設定為PASV工作模式時,客戶端也必須設定為PASV連線型別。若客戶端連線型別設定為PORT,則能建立FTP連線,但在執行ls或get等需要資料請求的命令時,將會出現無響應並最終報告無法建立資料連線。
(2)與埠相關的配置
listen_port=21
// 設定FTP伺服器建立連線所偵聽的埠,預設值為21。
連線非標準埠示例:ftp www.sunflower.org 7000
connect_from_port_20=YES
// 預設值為YES,指定FTP資料傳輸連線使用20埠。若設定為NO,則進行資料連線時,所使用的埠由ftp_data_port指定。
ftp_data_port=20
//設定PORT方式下FTP資料連線所使用的埠,預設值為20。
pasv_enable=YES|NO
//若設定為YES,則使用PASV工作模式;若設定為NO,使用PORT模式。預設為YES,即使用PASV模式。
pasv_max_port=0
//設定在PASV工作方式下,資料連線可以使用的埠範圍的上界。預設值為0,表示任意埠。
pasv_mim_port=0
//設定在PASV工作方式下,資料連線可以使用的埠範圍的下界。預設值為0,表示任意埠。
10.設定傳輸模式
FTP在傳輸資料時,可使用二進位制(Binary)方式,也可使用ASCII模式來上傳或下載資料。
ascii_download_enable=YES //設定是否啟用ASCII模式下載資料。預設為NO。
ascii_upload_enable=YES //設定是否啟用ASCII模式上傳資料。預設為NO。
11.設定上傳文件的所屬關係和許可權
(1)設定匿名上傳文件的屬主
chown_uploads=YES
//用於設定是否改變匿名使用者上傳的文件的屬主。預設為NO。若設定為YES,則匿名使用者上傳的文件的屬主將被設定為chown_username配置項所設定的使用者名稱。
chown_username=whoever
//設定匿名使用者上傳的文件的屬主名。只有chown_uploads=YES時才有效。建議不要設定為root使用者。 但系統默root
(2)新增文件的許可權設定
local_umask=022
//設定本地使用者新增文件的umask,預設為022,對應的許可權為755。umask為022,對應的二進位制數為000 010 010,將其取反為111 101 101,轉換成十進位制數,即為許可權值755,代表文件的所有者(屬主)有讀寫執行權,所屬組有讀和執行權,其他使用者有讀和執行權。022適合於大多數情 況,一般不需要更改。若設定為077,則對應的許可權為700。
anon_umask=022 //設定匿名使用者新增文件的umask。預設077
file_open_mode=0755 //設定上傳文件的許可權。許可權採用數字格式。 預設0666
12.日誌檔案
xferlog_enable=YES //是否啟用上傳/下載日誌記錄。預設為NO
xferlog_file=var/log/vsftpd.log //設定日誌檔名及路徑。需啟用xferlog_enable選項
xferlog_std_format=YES //日誌檔案是否使用標準的xferlog日誌檔案格式(與wu-ftpd使用的格式相同) 。預設為NO
13.其他設定
text_userdb_names=NO
//設定在執行ls命令時,是顯示UID、GID還是顯示出具體的使用者名稱或組名稱。預設為NO,以UID和GID方式顯示,若希望顯示使用者名稱和組名稱,則設定為YES。
ls_recurse_enable=YES
//若設定為YES,則允許執行“ls –R”這個命令,預設值為NO。在配置檔案中該配置項被註釋掉了,與此類似的還有一些配置,需要啟用時,將註釋符去掉並進行YES或NO的設定即可
⑤ 測試 將linux系統和客戶端系統的網路卡都選擇橋接方式連線,給ftp伺服器配置靜態ip地址,並且使伺服器地址和宿主機在同一個網段,開啟ftp伺服器service vsftpd start用宿主機訪問ftp伺服器,在預設情況下就可以使用匿名訪問伺服器,如果有特殊要求,那麼就可以改變主檔案的配置,切記主檔案修改之後必須要重啟ftp伺服器 命令: service vsftpd restart
相關文章
- 建立ftp伺服器FTP伺服器
- 使用VMware Workstation安裝 Linux虛擬環境Linux
- 學習使用azureCLI建立linux環境Linux
- 如何藉助Linux充分利用舊PC建立伺服器環境Linux伺服器
- 建立環境
- Linux伺服器---ftp配置Linux伺服器FTP
- Linux伺服器下Java環境搭建Linux伺服器Java
- linux伺服器環境搭建問題Linux伺服器
- 離線Linux伺服器環境搭建Linux伺服器
- 部署伺服器系列三:Linux環境結合Docker搭建前端環境伺服器LinuxDocker前端
- Linux伺服器---ftp黑名單Linux伺服器FTP
- Linux伺服器---ftp限制ipLinux伺服器FTP
- gym建立環境、自定義gym環境
- 通過 Samba 服務,建立 Linux 開發環境SambaLinux開發環境
- 透過 Samba 服務,建立 Linux 開發環境SambaLinux開發環境
- 建立 測試環境 + 配置伺服器ssl證書伺服器
- VMware搭建內網滲透環境內網
- tableau必知必會之VMware 搭建 Tableau Server for Linux 單機環境ServerLinux
- Anaconda建立環境、刪除環境、環境重新命名、檢視環境名
- Linux伺服器準備java執行環境Linux伺服器Java
- linux伺服器環境部署(三、docker部署nginx)Linux伺服器DockerNginx
- windows的vscode中配置linux環境WindowsVSCodeLinux
- Linux中bash shell環境變數Linux變數
- Linux中Go環境配置和GoModuleLinuxGo
- python pipenv建立環境Python
- Linux伺服器---ftp限制頻寬Linux伺服器FTP
- Linux篇---ftp伺服器的搭建LinuxFTP伺服器
- Linux下搭建FTP伺服器教程LinuxFTP伺服器
- 【VMware VCF】使用 PowerVCF 連線和管理 VMware Cloud Foundation 環境。Cloud
- Linux環境配置Linux
- 【VMware vSphere】使用RVTools中的PowerShell指令碼建立匯出vSphere環境資訊的自動化任務。指令碼
- Linux中的環境變數知多少?Linux變數
- 不同環境中伺服器的分類伺服器
- 建立 Python 虛擬環境Python
- anaconda建立虛擬環境
- 建立python虛擬環境Python
- pycharm+anaconda環境建立PyCharm
- 阿里雲的ecs伺服器,建立ftp站點阿里伺服器FTP