Linux下的ftp服務
一.ftp的啟用
1.安裝vsftpd服務 yum instasll -y vsftpd 2.開啟vsftpd服務 systemctl start vsftpd 3.將vsftpd服務設為開機自啟 systemctl enable vsftpd
二.ftp基本資訊
1.訪問資料的埠:21 2.資料傳輸埠:>1024的隨機埠 3.預設釋出目錄:/var/ftp 4.訪問方式: (1)匿名使用者訪問(登入到/var/ftp) lftp 172.25.254.100 (2)使用者訪問(登入到使用者家目錄) lftp 172.25.254.100 -u student 5.配置檔案:/etc/vsftpd/vsftpd.conf
三.ftp的安全部署
1.報錯 500報錯:許可權過大 530報錯:認證失敗 550報錯:服務本身不允許 553報錯:檔案系統許可權過小 2.匿名使用者上傳 (1)更改上傳到的目錄的許可權 chmod 775 /var/ftp/pub (2)將上傳到的目錄的所有組改為匿名使用者組 chgrp ftp /var/ftp/pub (3)更改服務配置檔案 vim /etc/vsftpd/vsftpd.conf 新增: anon_upload_enable=YES 3.匿名使用者下載 同2,不過還需在配置檔案中加入 anon_world_readable_only=NO 4.匿名使用者刪除和重新命名(更改配置檔案) anon_other_write_enable=YES 5.匿名使用者家目錄修改(更改配置檔案) anon_root=/westos ##修改為westos使用者家目錄,當匿名使用者連線上後,所看目錄為westos使用者家目錄 6.匿名使用者使用的使用者身份修改(更改配置檔案) chown_uploads=YES chown-username=student ##更改後匿名使用者登陸成功後,上傳,下載皆以student使用者執行 7.匿名使用者建立目錄(更改配置檔案) anon_mkdir_write_enable=YES 8.匿名使用者預設上傳檔案許可權修改(更改配置檔案) anon_umask=xxx 9.最大上傳速率(更改配置檔案) anon_max_rate=102400 單位為位元組;當前為100kb/左右 測試: dd if=/dev/zero of=/mnt/bigfile bs=1M count=2000 10.最大連結個數(更改配置檔案) max_clients=數字 11.本地使用者家目錄修改(更改配置檔案) local_root=/westos 12.本地使用者長傳檔案許可權(更改配置檔案) local_umask=xxx 13.限制本地使用者瀏覽根目錄 限制使用者前要去掉當該使用者對自己家目錄的寫許可權 chmod u-w /home/* 使用者黑名單建立(更改配置檔案) chroot_local_user=NO chroot_list_enable+YES chroot_list_file=/etc/vsftpd/chroot_list ##chroot_list檔案中寫使用者名稱稱 使用者白名單建立(更改配置檔案) chroot_local_user=YES chroot_list_enable+YES chroot_list_file=/etc/vsftpd/chroot_list ##chroot_list檔案中寫使用者名稱稱 14.限制本地使用者登入 (1)永久黑名單 vim /etc/vsftpd/ftpusers (2)臨時黑名單 vim /etc/vsftpd/user_list (3)使用者白名單 在配置檔案中設定 userlist_deny=NO ,這時/etc/vsftpd/user_list檔案變成白名單
四.ftp的虛擬使用者
1.虛擬使用者的設定
1.在/etc/vsftpd目錄下建立檔案(檔名稱隨意) vim /etc/vsftpd/westos 2.在檔案中寫入虛擬使用者名稱稱和密碼 例: user1 123 user2 123 3.將檔案進行雜湊加密 db_load -T -t hash -f /etc/vsftpd/westos /etc/vsftpd/westos.db 4.在pam.d 目錄下新建檔案(名稱隨意) vim /etc/pam.d/westos 寫入: account required pam_userdb.so db=/etc/vsftpd/westos auth reqired pam_userdb.so db=/etc/vsftpd/westos 5.更改服務的配置檔案 vim /etc/vsftpd/vsftpd.conf pam_service_name=westps quest_enable=YES
2.虛擬使用者身份指定
更改配置檔案 guest_username=westos
3.虛擬使用者家目錄獨立設定
1.更改配置檔案 local_root=/ftphome/ $ USER user_sub_token=$ USER 2.建立使用者家目錄 mkdir -p /ftphome/user1/user1dir mkdir -p /ftphome/user2/user2dir
4.虛擬使用者獨立配置
1.將虛擬使用者家目錄所有組改為匿名使用者 chgrp ftp /ftphome -R 2.更改虛擬使用者家目錄許可權 chmod 775 /ftphome/user1/user2dir chmod 775 /ftphome/user2/user2dir 3.更改配置檔案 vim /etc/vsftpd/vsftpd.conf user_config_dir=/etc/vsftpd/userconf 4.建立獨立配置檔案 mkdir -p /etc/vsftpd/userconf/user1 此檔案中設定配置檔案中的所有引數,此檔案的優先順序高