搭建FTP服務
第一節 安裝FTP文件傳輸服務
FTP服務安裝包: vsftpd-3.0.2-9.el7.x86_64.rpm
[root@localhost Data]# rpm -ivh vsftpd-3.0.2-9.el7.x86_64.rpm
第二節 啓動FTP服務
查看vsftpd狀態 service vsftpd status
啓動vsftpd service vsftpd start
停止vsftpd service vsftpd stop
重啓vsftpd service vsftpd restart
第三節 匿名用戶登錄FTP
在安裝vsftpd服務時,系統默認創建一個匿名用戶(anonymous),其主目錄爲/var/ftp。
訪問ftp服務器:
用戶名:anonymous
密 碼:任意字符
第四節 配置文件管理
[root@localhost ~]# rpm -ql vsftpd
/etc/pam.d/vsftpd 密鑰庫文件
/etc/vsftpd 存放主配置文件目錄
/etc/vsftpd/ftpusers 存放被拒絕訪問ftp的用戶列表
/etc/vsftpd/user_list 允許訪問FTP服務用戶列表文件
/etc/vsftpd/vsftpd.conf 主配置文件
/var/ftp 匿名用戶主目錄
.
.
.
FTP配置文件解析
文件名 | 作用 |
ftpusers | 禁止使用vsftpd的用戶列表文件 |
user_list | 禁止或允許使用vsftpd的用戶列表文件。 1、禁止情況:---這個文件中指定的用戶缺省情況 或 userlist_deny=YES時,user_list裏的用戶不能訪問FTP服務器。 2、允許user_list裏的用戶訪問FTP服務的情況:---在設置了userlist_deny=NO時,僅允許user_list中指定的用戶訪問FTP服務器。 |
vsftpd_conf_migrate.sh | vsftpd操作的一些變量和設置腳本 |
vsftpd.conf | FTP主配置文件 |
anonymous_enable=YES | 是否允許匿名登錄FTP服務器,默認設置爲YES允許 |
no_anon_password=YES | 允許匿名用戶登錄FTP服務不需要密碼 |
anon_upload_enable=YES | 是否允許匿名用戶上傳文件,須將全局的write_enable=YES。默認爲YES |
anon_mkdir_write_enable=YES | 是否允許匿名用戶創建目錄 |
local_enable=YE | 允許本地用戶訪問FTP服務器 |
write_enable=YES | 是否允許本地用戶對FTP服務器文件具有寫權限,默認設置爲YES允許 |
local_umask=022 | 本地用戶的文件掩碼爲缺省022,即本地用戶的文件權限爲755 (drwxr-xr-x) |
dirmessage_enable=YES | 此文件保存自定義的歡迎信息,由用戶自己建立 |
xferlog_enable=YES | 是否讓系統自動維護上傳和下載的日誌文件 默認情況該日誌文件爲/var/log/vsftpd.log,也可以通過下面的xferlog_file選項對其進行設定 |
/var/log/vsftpd.log | 設定系統維護記錄FTP服務器上傳和下載情況的日誌文件 |
ftpd_banner=Welcome to blah FTP service. | 登錄FTP服務器時顯示的歡迎信息 |
connect_from_port_20=YES | 設定FTP服務器將啓用FTP數據端口的連接請求 ftp-data數據傳輸端口爲20,21爲連接控制端口 |
chown_uploads=YES | 設定是否允許改變上傳文件的屬主,與下面一個設定項配合使用 注意,不推薦使用root用戶上傳文件 |
chown_username=whoever | 設置想要改變的上傳文件的屬主,如果需要,則輸入一個系統用戶名 可以把上傳的文件都改成root屬主。whoever:任何人 |
idle_session_timeout=300 | 設置數據傳輸中斷間隔時間,此語句表示空閒的用戶會話中斷時間爲300秒 即當數據傳輸結束後,用戶連接FTP服務器的時間不應超過300秒。可以根據實際情況對該值進行修改 |
data_connection_timeout=120 | 設置數據連接超時時間爲120秒,可根據實際情況對其個修改 |
ascii_upload_enable=YES ascii_download_enable=YES | 是否以ASCII方式傳輸數據。默認情況下,服務器會忽略ASCII方式的請求。 啓用此選項將允許服務器以ASCII方式傳輸數據不過,這樣可能會導致由"SIZE /big/file"方式引起的DoS*** |
deny_email_enable=YES | 黑名單設置。如果很討厭某些email address,就可以使用此設定來取消他的登錄權限 可以將某些特殊的email address抵擋住。 |
banned_email_file=/etc/vsftpd/banned_emails | 當上面的deny_email_enable=YES時,可以利用這個設定項來規定哪些郵件地址不可登錄vsftpd服務器 # 此文件需用戶自己創建,一行一個email address即可 |
chroot_list_file=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list | 用戶登錄FTP服務器後是否具有訪問自己目錄以外的其他文件的權限 # 設置爲YES時,用戶被鎖定在自己的home目錄中,vsftpd將在下面chroot_list_file選項值的位置尋找chroot_list文件 # 必須與下面的設置項配合 #chroot_list_enable=YES # 被列入此文件的用戶,在登錄後將不能切換到自己目錄以外的其他目錄 # 從而有利於FTP服務器的安全管理和隱私保護。此文件需自己建立 #chroot_list_file=/etc/vsftpd/chroot_list |
listen=YES | 是否允許監聽。 如果設置爲YES,則vsftpd將以獨立模式運行,由vsftpd自己監聽和處理IPv4端口的連接請求 |
ls_recurse_enable=YES | 是否允許遞歸查詢。默認爲關閉,以防止遠程用戶造成過量的I/O |
listen_ipv6=YES | 設定是否支持IPV6。如要同時監聽IPv4和IPv6端口, 則必須運行兩套vsftpd,採用兩套配置文件 #同時確保其中有一個監聽選項是被註釋掉的 |
userlist_enable=YES | 允許user_list文件中的用戶允許登錄FTP服務器 userlist_enable=YES必須和userlist_deny=NO同時配合使用,才能允許用戶登錄到FTP服務器 # 而如果默認情況 或 同時設置了userlist_deny=YES,則user_list文件中的用戶將不允許登錄FTP服務器,甚至連輸入密碼提示信息都沒有。 |
local_root= | 設置FTP服務主目錄 |
第五節 配置FTP服務器高可用
根據公司部門職能分配,創建FTP服務。
要求:
1、創建一個公共文件夾,公司全體員工都可以訪問公共文件夾。
2、根據部門安排,分別創建各個部門共享文件夾,只能同一部門的員工自己訪問自己部門的共享文件夾,其他部門員工不能訪問。
3、禁止匿名用戶訪問。
實施步驟:
1、創建共享目錄
創建公共共享文件夾--Public
創建各部門共享文件夾--IT、Admin、Finance、Sale
[root@localhost Data]# mkdir Public IT Admin Finance Sale
2、修改目錄權限
[root@localhost Data]#chmod 770 Public
[root@localhost Data]#chmod 770 Admin
[root@localhost Data]#chmod 770 Finance
[root@localhost Data]#chmod 770 IT
[root@localhost Data]#chmod 770 Sale
3、創建用戶及用戶組
it--ituser
admin--adminuser
finance--financeuser
sale--saleuser
[root@localhost Data]#groupadd public
[root@localhost Data]#groupadd it
[root@localhost Data]#groupadd admin
[root@localhost Data]#groupadd finance
[root@localhost Data]#groupadd sale
[root@localhost Data]#useradd -G public,it ituser
[root@localhost Data]#useradd -G public,admin adminuser
[root@localhost Data]#useradd -G public,finance financeuser
[root@localhost Data]#useradd -G public,sale saleuser
4、爲用戶創建密碼
5、設置虛擬用戶
[root@localhost ~]# vi /etc/passwd
進入用戶配置文件,把每個用戶的執行文件/bin/bash/修改爲/sbin/nologin修改爲如下:
[root@localhost ~]# vi /etc/group
刪除創建用戶時自動創建的組名
6、修改目錄所有者及組
7、添加允許訪問FTP服務的用戶到user_list配置文件裏
[root@localhost vsftpd]# vi user_list
8、修改主配置文件
anonymous_enable=NO # 禁止匿名帳號登錄
local_root=/Data # 設置FTP主目錄
userlist_deny=NO # 允許user_list裏的用戶登錄FTP服務
userlist_enable=YES # 允許user_list裏的用戶登錄FTP服務
其他設置保持默認即可。
9、啓動vsftpd
10、訪問FTP