6.5版 FTP服務器搭建

匿名訪問的FTP服務

(一)安裝軟件包

rpm -ivh /mnt/iso/Packages/vsftpd-2.2.2-11.el6_4.1.x86_64.rpm     //安裝FTP服務包

(二)修改配置文件

chown ftp /var/ftp/pub/       //把屬主改爲ftp,使匿名用戶對該目錄有寫入權限

cd /etc/vsftpd

cp vsftpd.conf vsftpd.conf.back        //備份主配置文件(以防萬一嘛!)

grep -v "#" vsftpd.conf | grep -v "^#" > 123//過濾主配置文件(看着友好嘛!)

mv -f 123 vsftpd.conf//覆蓋原主配置文件

vi /etc/vsftpd/vsftpd.conf   //打開主配置文件

---------全局配置-----------(可選擇的調用)

write_enable=YES             //啓用任何形式的寫入權限(如上傳刪除文件等)都需要開啓此項

listen=YES                   //是否以獨立運行的方式監聽服務

dirmessage_enable=YES       //用戶切換進入目錄時顯示.message文件(如果存在)的內容  

xferlog_enable=YES          //啓用xferlog日誌,默認記錄到/var/log/xferlog

xferlog_std_format=YES       //啓用標準的xferlog日誌格式,若禁用此項,將使用vsftpd自己的日誌格式

connect_from_port_20=YES     //允許服務器主動模式從20端口建立連接    

pam_service_name=vsftpd       //設置用於用戶認證的PAM文件位置(/etc/pam.d目錄中對應的文件名)

tcp_wrappers=YES             //是否啓用TCP_wrappers 主機訪問控制

listen_address=192.168.1.10    //只在一個接口監聽服務

listen_port=2121             //監聽端口改爲520(原爲21)

--------允許使用FTP服務器的被動模式----------

pasv_enable=YES             //允許被動模式連接

pasv_max_port=24500         //指定被動模式的上限端口

pasv_min_port=24600         //指定被動模式的下限端口

-----------限制FTP的併發數---------

max_clients=20              //限制併發客戶連接最多20

Max_per_ip=2               //限制每個IP地址的連接數最多兩個(即用時下載或上傳的文件數量)

--------匿名用戶配置---------

anonymous_enable=YES//是否開放FTP匿名訪問(默認就可以匿名訪問)

anon_upload_enable=YES             //是否允許匿名用戶上傳文件

anon_umask=022//設置匿名用戶所上傳文件和目錄反掩碼值(即文件爲644,目錄爲755anon_mkdir_write_enable=YES         //是否允許匿名用戶有創建目錄的寫入權限

anon_other_write_enable=YES         //是否允許匿名用戶有其它寫入權限,如對文件改名、覆蓋及刪除文件等

anon_max_rate=10000                //限制匿名用戶傳輸速率爲10kB/s(單位爲B

(三)測試匿名FTP服務器

1.FTP客戶端工具(FileZilla

wKioL1LOCHPyjV5AAAEfPx9IaV0928.jpg

2.電腦地址欄URL訪問

ftp://192.168.1.20

wKioL1LOCJXgD-8zAAB0FZXFaBA215.jpg

用戶驗證FTP服務

(一)新建本地用戶

useradd -s /sbin/nologin jack     //不用登陸系統

passwd jack

(二)修改配置文件

-------本地用戶配置-------

chroot_local_user=yes//是否將所有的宿主目錄禁錮在其宿主目錄中

local_enable=YES                   //是否允許本地系統用戶訪問

local_umask=022                    //設置本地用戶所上傳文件和目錄反掩碼值(即文件爲644,目錄爲755

local_max_rate=20000                //限制本地用戶傳輸速率爲20kB/s(單位爲B

(三)測試本地用戶FTP服務

和匿名用戶驗證方法一樣,在此不做詳解!!

(四)使用user_list用戶列表文件

1.修改user_list 配置文件

vi /etc/vsftpd/ftpusers   //黑名單,優先於user_list,但當配置了虛擬用戶後不生效,只有user_list文件生效

vi /etc/vsftpd/user_list  //只允許jack,tom,登陸FTP服務器,匿名用戶也不可以登陸

jack

tom

2.修改主配置文件

-------本地用戶配置-------

userlist_enable=YES             //是否啓用user_list用戶列表文件        

userlist_deny=NO                //是否禁止user_list列表文件中的用戶賬號

基於虛擬用戶的FTP服務

(一)建立虛擬用戶的賬號數據庫

1.安裝db_load工具

rpm -ivh /mnt/iso/Packages/db4-utils-4.7.25-18.el6_4.x86_64.rpm

2創建文本格式的用戶名、密碼列表

vi /etc/vsftpd/vuser.list

xiao//奇數行爲賬號

123//偶數行爲密碼

3.創建Berkley DB格式的數據庫文件

cd /etc/vsftpd

db_load -T -t hash -f vuser.list vuser.db

file vuser.db    //查看轉換後的文件類型

wKioL1LOCPHhgPfuAAApOIDIKoQ507.jpg

chmod 600 vuser*     //將文件權限設爲600,以免數據外泄

4.添加虛擬用戶的映射賬號、創建FTP根目錄

useradd -d /var/ftproot -s /sbin/nologin xiaohang

chmod 755 /var/ftproot

(二)vsftpd服務添加虛擬用戶支持

1.爲虛擬用戶建立PAM認證文件(可參考PAM默認認證文件/etc/pam.d/vsftpd

vi /etc/pam.d/authentication

auth    required pam_userdb.so db=/etc/vsftpd/vuser

account required pam_userdb.so db=/etc/vsftpd/vuser

2.修改主配置文件添加虛擬用戶支持

vi /etc/vsftpd/vsftpd.conf

local_enable=YES                   //是否允許本地系統用戶訪問

anon_umask=022                    //設置本地用戶所上傳文件和目錄反掩碼值(即文件爲644,目錄爲755

write_enable=YES                //啓用任何形式的寫入權限(如上傳刪除文件等)都需要開啓此項

pam_service_name=authentication//指定PAM認證文件(即vi /etc/pam.d/authentication

guest_enable=YES   //啓用用戶映射功能

guest_username=xiaohang//指定映射的系統用戶名(用戶可不用登系統)

3.重啓服務,驗證虛擬用戶登錄

service vsftpd restart

!注,如果開啓了user_list用戶列表,虛擬用戶必須加入列表才能正常登錄FTP服務器(即tom1tom2tom3

(三)爲不同的虛擬用戶在不同家目錄建立不同的配置文件

例:

   tom1 家目錄在 /var/ftproot/tom1 tom1要求只有讀取權限

   tom2 家目錄在 /var/ftproot/tom2tom2要求只有讀取上傳權限,上傳目錄權限爲644

   tom3 家目錄在 /var/ftproot/tom3 tom3所有權限(讀取,上傳,命名,刪除,建文件夾),上傳權限爲644

  1.  修改vsftpd.conf主配置文件          

      vi  /etc/vsftpd/vsftpd.conf

      ------匿名配置------

      anonymous_enable=YES

      ---------本地用戶配置--------

      user_config_dir=/etc/vsftpd/vdir

  2. 創建虛擬目錄vdir中創建三個虛擬用戶配置文件

     mkdir /etc/vsftpd/vdir      

     touch /etc/vsftpd/vdir/tom1 /etc/vsftpd/vdir/tom2 /etc/vsftpd/vdir/tom3

  3.分別給虛擬用戶tom1tom2tom3創建家目錄

  mkdir /var/ftproot/tom1 /var/ftproot/tom2 /var/ftproot/tom3

chown -R xiaohang.xiaohang /var/ftproot/     //把家目錄屬主、屬組,遞歸改爲虛擬映射用戶

  4. 配置各虛擬用戶

    tom1 的配置

    vi /etc/vsftpd/vdir/tom1

         local_root=/var/ftproot/tom1

    tom2 的配置

    vi /etc/vsftpd/vdir/tom1

         anon_upload_enable=YES

         anon_umask=022

         local_root=/var/ftproot/tom2

    tom3 的配置

    vi /etc/vsftpd/vdir/tom1

         anon_mkdir_write_enable=YES

         anon_upload_enable=YES

         anon_other_write_enable=YES

         local_root=/var/ftproot/tom3

         anon_umask=022

  5.重啓服務驗證

  service vsftps restart

  注!開啓了虛擬用戶後本地用戶將失效,匿名用戶可以正常訪問





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章