溫馨提示×

centos與vsftp集成應用案例

小樊
47
2025-10-06 21:30:38
欄目: 智能運維

1. 基礎FTP服務部署(支持匿名+本地用戶)

在CentOS上通過vsftpd搭建基礎的FTP服務,滿足匿名用戶只讀、本地用戶可讀寫的常見需求。

  • 環境準備:關閉防火墻(或放行21、22端口);安裝vsftpd(yum install vsftpd -y)。
  • 目錄與用戶配置:創建共享基目錄/data(本地用戶主目錄)和匿名用戶目錄/data/all;創建管理員用戶admin(無家目錄,用于管理匿名目錄)和普通用戶test(家目錄/data/test)。
  • vsftpd配置:修改/etc/vsftpd/vsftpd.conf,關鍵參數包括:anonymous_enable=YES(開啟匿名)、local_enable=YES(允許本地用戶)、chroot_local_user=YES(鎖定用戶至家目錄)、anon_root=/data/all(匿名用戶根目錄)、local_root=/data(本地用戶根目錄)。
  • 權限與啟動:設置匿名目錄屬主為adminchown -R admin:admin /data/all);啟動vsftpd并設置開機自啟(systemctl restart vsftpd && systemctl enable vsftpd)。
  • 客戶端測試:通過Windows文件管理器或FileZilla輸入ftp://服務器IP,分別用匿名用戶(僅能查看/data/all)和test用戶(可上傳/下載/data/test下的文件)驗證功能。

2. 與Web服務器(Apache)集成

將vsftpd與Apache集成,實現通過Web界面管理FTP文件(如上傳、下載、刪除),提升文件管理的便捷性。

  • 基礎準備:安裝vsftpd(配置同基礎案例)和Apache(yum install httpd -y);啟動并啟用兩者服務。
  • 防火墻配置:允許FTP流量(firewall-cmd --permanent --add-service=ftp && firewall-cmd --reload)。
  • 集成方式:通過Web管理工具(如FileZilla Server Manager)實現——安裝工具后,添加FTP服務器信息(IP、端口、用戶),通過工具的Web界面(http://服務器IP:8080)管理vsftpd用戶及文件。
  • 測試:使用瀏覽器訪問工具界面,登錄后上傳文件至FTP服務器,再用FTP客戶端驗證文件是否同步。

3. 虛擬用戶認證(PAM+MySQL)

通過vsftpd結合PAM和MySQL實現虛擬用戶認證,解決公共賬號密碼泄露問題,支持不同用戶差異化權限。

  • 環境準備:安裝vsftpd、MySQL(yum install vsftpd mariadb-server -y);啟動MySQL服務。
  • MySQL數據庫配置:創建vsftpd數據庫及用戶表(CREATE DATABASE vsftpd; CREATE TABLE users (name VARCHAR(50) PRIMARY KEY, password VARCHAR(50)););插入測試用戶(INSERT INTO users VALUES ('tom', '123456'), ('jerry', '123456'););授權用戶訪問(GRANT ALL ON vsftpd.* TO 'vsftpd'@'localhost' IDENTIFIED BY 'centos'; FLUSH PRIVILEGES;)。
  • PAM認證配置:創建/etc/pam.d/vsftpd.mysql,添加MySQL認證語句(auth required /usr/lib64/security/pam_mysql.so user=vsftpd passwd=centos host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2)。
  • vsftpd配置:修改/etc/vsftpd/vsftpd.conf,關鍵參數包括:pam_service_name=vsftpd.mysql(指定PAM服務)、guest_enable=YES(啟用虛擬用戶)、guest_username=vuser(虛擬用戶映射的系統用戶,需創建vuser并設置家目錄/ftproot)。
  • 權限控制:為虛擬用戶創建單獨配置文件(/etc/vsftpd/vusers_conf/tom允許上傳、jerry禁止上傳);設置上傳目錄權限(setfacl -m u:vuser:rwx /ftproot/upload)。
  • 測試:用FileZilla連接FTP服務器(選擇“虛擬用戶”),分別用tom(可上傳)和jerry(不可上傳)驗證權限差異。

4. 對接LDAP(域控)實現單點登錄

將vsftpd與企業內部LDAP(域控)集成,實現域賬號登錄FTP,統一身份認證,避免重復創建賬號。

  • 環境準備:安裝vsftpd、LDAP客戶端(yum install vsftpd nscd nss-pam-ldapd -y);配置LDAP客戶端(/etc/nslcd.conf)指向域控服務器。
  • vsftpd配置:修改/etc/vsftpd/vsftpd.conf,關鍵參數包括:anonymous_enable=NO(禁用匿名)、local_enable=YES(允許本地用戶)、guest_enable=YES(啟用虛擬用戶)、guest_username=compiler(虛擬用戶映射的系統用戶,需創建compiler并設置家目錄/opt)、pam_service_name=vsftpd(使用LDAP認證的PAM配置)。
  • PAM配置:修改/etc/pam.d/vsftpd,添加LDAP認證語句(auth required /usr/lib64/security/pam_ldap.so、account required /usr/lib64/security/pam_ldap.so)。
  • 測試:用域賬號(如pcan1250)連接FTP服務器,驗證是否能登錄至映射目錄(/opt),并執行上傳、下載操作。

5. 被動模式(PASV)配置(解決防火墻/NAT問題)

在企業網絡環境中,主動模式(PORT)常因防火墻攔截或NAT轉換導致連接失敗,需配置vsftpd使用被動模式(PASV)。

  • 基礎準備:安裝vsftpd(配置同基礎案例);確保防火墻允許FTP端口(21)及被動模式端口范圍(如50000-50100)。
  • vsftpd配置:修改/etc/vsftpd/vsftpd.conf,關鍵參數包括:pasv_enable=YES(開啟被動模式)、pasv_min_port=50000(被動模式最小端口)、pasv_max_port=50100(被動模式最大端口)、pasv_address=服務器公網IP(若服務器在NAT后,需指定公網IP)。
  • 防火墻配置:放行被動模式端口范圍(firewall-cmd --permanent --add-port=50000-50100/tcp && firewall-cmd --reload)。
  • 測試:用FTP客戶端(如FileZilla)連接服務器,查看連接信息中的“被動模式”是否啟用,驗證是否能正常上傳/下載文件(尤其從外部網絡訪問時)。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女