1. 程式人生 > >FTP服務部署

FTP服務部署

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