Linux,FTP伺服器配置
FTP伺服器配置
FTP服務的埠號
21埠:傳輸FTP的控制命令
20埠:傳輸檔案資料
主動模式(PORT模式):
PORT模式建立資料傳輸通道是由伺服器端發起的,伺服器使用20埠連線客戶端某一個大於1024的埠;
被動模式(PASV模式):
資料傳輸通道的建立是由FTP客戶端發起的,使用一個大於1024的埠連線伺服器的1024以上的某一個埠。
FTP服務的安裝與基本配置
Linux下最常用的FTP服務端軟體vsftpd(守護程序也是vsftpd),客戶端可以使用命令列,瀏覽器,或者客戶端軟體gftp。
vsftpd安裝配置
安裝vsftpd:
yum -y install vsftpd
配置vsftpd主配置檔案/etc/vsftpd/vsftpd.conf
本地使用者許可權配置:
local_enable=YES
:是否允許本地使用者 。
write_enable=YES
:是否允許本地使用者對 FTP 伺服器檔案具有寫許可權 , 預設設定為 YES 允許。
使用者預設可以訪問除其他使用者家目錄以外的所有資料夾,但只對自己家目錄有許可權進行操作。
-
配置使用者訪問鎖定到自己的家目錄下(不可以訪問其他目錄):
chroot_list_enable=YES
:設定為 NO 時,使用者登入FTP 伺服器後具有訪問自己目錄以外的其他檔案的許可權, 設定為 YES 時 , 使用者被鎖定在自己的 home 目錄中,vsftpd 將在下面 chroot_list_file 選項值的位置尋找 chroot_list 檔案,此檔案需使用者建立, 再將需鎖定在自己home 目錄的使用者列入其中,每行一個使用者。
chroot_list_file=/etc/vsftpd/chroot_list
:此檔案需自己建立 , 被列入此檔案的使用者 , 在登入後將不能切換到自己目錄以外的其他目錄 , 由 FTP 伺服器自動地 chrooted 到使用者自己的home 目錄下,使得 chroot_list 檔案中的使用者不能隨意轉到其他使用者的FTP home 目錄下,從而有利於FTP 伺服器的安全管理和隱私保護. -
控制使用者是否允許切換到上級目錄
在預設配置下,本地使用者登入FTP後可以使用cd命令切換到其他目錄,這樣會對系統帶來安全隱患。可以通過以下三條配置檔案來控制使用者切換目錄。chroot_list_enable=YES
設定是否啟用chroot_list_file配置項指定的使用者列表檔案。預設值為NO。
chroot_list_file=/etc/vsftpd/chroot_list
用於指定使用者列表檔案,該檔案用於控制哪些使用者可以切換到使用者家目錄的上級目錄。
chroot_local_user=NO
用於指定使用者列表檔案中的使用者是否允許切換到上級目錄。預設值為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時,所有的使用者均可以切換到其他目錄。
重啟服務測試
service vsftpd restart
:
-
控制本地使用者是否可以訪問ftp伺服器
/etc/vsftpd/ftpusers
:禁止使用vsftpd的使用者列表檔案userlist_enable=YES
:此選項預設值為NO , 此時ftpusers 檔案中的使用者禁止登入FTP 伺服器;若此項設為YES ,則 user_list 檔案中的使用者允許登入 FTP 伺服器。
/etc/vsftpd/user_list
:禁止或允許使用vsftpd的使用者列表檔案,預設情況下userlist_deny=YES
不能訪問,userlist_deny=NO
只有列表裡的使用者可以訪問。- 如果使用者在ftpusers被拒絕,在
userlist_enable=NO
允許訪問,但其實結果是遵守ftpusers的禁止訪問。
匿名使用者許可權配置:
匿名使用者訪問的資料夾為:/var/ftp/
,預設許可權是755。
anonymous_enable=YES
:匿名使用者可以訪問。
anon_upload_enable=YES
:匿名使用者可以上傳檔案(非目錄)。
anon_mkdir_write_enable=YES
:匿名使用者可以上傳資料夾。
改完之後要記得更改訪問資料夾的許可權,不然會無法上傳。
gftp安裝
安裝,無需配置進入圖形化介面:
yum install gftp