FTP服務部署
阿新 • • 發佈:2018-11-13
1. 概述
FTP是檔案傳輸協議,在內外網的檔案傳輸中使用廣泛。
本篇部落格主要介紹FTP伺服器的部署和測試。
2. 軟體環境部署
檢視系統是否安裝FTP軟體(vsftpd),執行命令:rpm -qa | grep vsftpds
,如下圖
3. 配置vsftpd
配置目錄
vsftpd的主配置目錄在/etc/vsftpd目錄下,進入該目錄cd /etc/vsftpd
建立使用者列表
touch vir_user_list
,然後新增兩行
liwanliang
liwanliang
第一行是ftp的賬號,第二行是該賬號的密碼
生成加密檔案
執行命令:db_load -T -t hash -f /etc/vsftpd/vir_user_list /etc/vsftpd/vir_user_list.db
修改許可權:
chmod 600 /etc/vsftpd/vir_user_list.db
建立虛擬使用者配置目錄和配置檔案
執行命令:mkdir -p /etc/vsftpd/vir_user_conf
;
建立虛擬使用者配置檔案:touch /etc/vsftpd/vir_user_conf/liwanliang
,其文字內容為:
local_root=/var/www/html
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
anon_upload_enable=yes
anon_world_readable=yes
配置vsftpd主配置檔案
編輯配置檔案/etc/vsftpd/vsftpd.conf,新增三行配置,如下:
guest_enable=yes
guest_username=ftp
user_config_dir=/etc/vsftpd/vir_user_conf
配置vsftpd採用PAM認證
編輯配置檔案/etc/pam.d/vsftpd,內容修改如下:
#%PAM-1.0 #session optional pam_keyinit.so force revoke #auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed #auth required pam_shells.so #auth include password-auth #account include password-auth #session required pam_loginuid.so #session include password-auth auth required /lib64/security/pam_userdb.so /etc/vsftpd/vir_user_list account required /lib64/security/pam_userdb.so /etc/vsftpd/vir_user_list
修改FTP根目錄的許可權
由於上述內容中,配置了虛擬使用者使用系統使用者ftp來作為檔案系統的訪問使用者,訪問目錄/var/www/html。
因此需要ftp使用者對該目錄具有一定的許可權。這裡通過Linux檔案系統的ACL來進行訪問控制。
執行命令:setfacl -R -m u:ftp:rwx /var/www/html/
執行命令:getfacl html