linux搭建vsftpd虛擬用戶訪問

配置vsftpd服務
FTP服務器默認匿名能夠訪問。
1.搭建yum倉庫
  [root@accp~]# vim /etc/yum.repos.d/dvd.repo
  [server]
  name=redhat6
  baseurl=file:///mnt/rheldvd       爲本地光盤路徑
  enabled=1
  gpgcheck=0html

  [root@accp~]# yum install -y vsftpd*    yum安裝vsftpd服務
 
  [root@accp~]# service  vsftpd restart    重啓完服務後,默承認以匿名用戶訪問shell

  [root@accp~]# vim /etc/vsftpd/vsftpd.conf
  chown_uploads=YES    設置匿名上傳內容的屬主爲"tom"
  chown_username=tom 
 
********************************************************
2.創建用戶驗證訪問
 
  創建一個用戶並設置密碼
  [root@accp~]# useradd harry
  [root@accp~]# passwd  harry
 
  [root@accp~]# vim /etc/vsftpd/vsftpd.conf
    anonymous_enabl=NO/YES  控制匿名用戶訪問   註釋掉匿名訪問不能關閉匿名,註釋匿名是設置爲默認設置,默認設置是能夠匿名訪問
    ftp_username=ftp   此參數用來設置匿名用戶的用戶名
    anon_root=/var/ftp   設定匿名訪問的根目錄
    anon_world_readable_only=NO  控制是否容許用戶下載可閱讀的文件,YES爲能夠下載,NO爲不能夠下載但可瀏覽。
    anon_upload_enable=NO    容許匿名ftp用戶訪問並上傳文件
    anon_mkdir_write_enable=NO   是否容許匿名用戶有建立目錄的權利
    anon_other_write_enable=NO   匿名用戶是有除上傳以外的其它權限
    local_enable=YES    本地用戶訪問
    write_enable=YES    本地用戶寫入
    local_umask=022 寫入的權限爲755
    chroot_local_user=YES   全部用戶禁錮在家目錄中,提升安全性,本地用戶在訪問時只能訪問本身家目錄。
    chroot_list_enable=YES  指定用戶訪問限止在本身的home目錄下
    chroot_list_file=/etc/vsftpd/chroot_list    在/etc/vsftpd/chroot_list文件中列出的是被限制的用戶的列表。
    dirmessage_enable=YES  訪問某用戶的FTP時顯示的歡迎信息,在用戶的家目錄中編輯「vim .message」,方可顯示效果   
    data_connection_timeout=120   數據傳輸時間爲120秒   
    pam_service_name=vsftpd      可插拔模塊 "vim /etc/pam.d/vsftpd" 控制 "vim /etc/vsftpd/ftpusers"中的用戶denny與allow
                                 默認爲denny
    userlist_enable=YES      YES與NO 決定"vim /etc/vsftpd/user_list" 中的用戶可否被訪問
    tcp_wrappers=YES     是否啓用tcp_wrappers主機訪問控制防護設置,"vim /etc/hosts.deny" "vim /etc/hosts.allow"   
    ftpd_banner=welcome to ftp service     定製FTP歡迎信息
    banner_file=/etc/vsftpd/banner  使用歡迎文件
    dirmessage_enable=YES 當用戶切換到一個目錄時,是否顯示目錄切換信息
    xferlog_enable=YES  是否記錄ftp傳輸過程
    xferlog_file=/var/log/vsftpd.logftp  傳輸日誌的路徑和名字默認是/var/log/vsftpd.log
    xferlog_std_format=YES 是否使用標準的ftp xferlog模式
    connet_from_port_20=YES 是否確信商品傳輸來自20
    chown_uploads=YES 設定是否改變匿名上傳的文件的擁有者
    chown_username=username 設定匿名上傳的文件的的擁有者
    idle_session_timeout=600  設置默認的斷開不活躍session的時間
    data_connection_timeout=120  設置數據傳輸超時時間
    ascil_upload_enable=YES
    ascil_download_enable=YES  是否使用ascil碼方式上傳和下載文件
    userlist_enable=YES  在/etc/vsftpd/user_list 文件中列表出用戶不能訪問FTP服務器
    tcp_wrappers=YES  是否支持tcp_wrappers
 數據庫

    [root@accp~]# service vsftpd restart   每當修改完配置,就重啓一次vim

********************************************************
3.創建虛擬用戶訪問
    以上vsftpd 已經安裝完畢,在此不作詳細說明
 
    安裝yum  install  -y  db4-utils-4.7.25-16.el6.x86_64    數據庫文件,須要將虛擬用戶轉換爲數據庫文件,(這裏爲RHEL6.0的db4版本文件)
    或  yum  install -y db4*  所有安裝
     [root@accp~]# yum install -y db4* 
    
    創建帳戶文件(vim  /etc/vsftpd/virtual.file)
     [root@accp~]# vim  /etc/vsftpd/virtual.file
        tom              奇數爲用戶名,偶數爲密碼
        tigerzhang
        john
        tigerzhang
    將virtual.file  文本內容加載到db數據庫
     [root@accp~]# cd /etc/vsftpd
     [root@accp vsftpd]# db_load -T -t hash -f virtual.file  virtual.db
             注:在db_load命令中,"-T"選項容許應用程序可以將文本文件轉譯載入進數據庫。因爲咱們以後是將虛擬用戶的信息以文件方式存儲在centos

文件裏的,爲了讓vsftpd這個應用程序可以經過文原本載入用戶數據,必需要使用-T。
                 "-t " 用來指定轉譯載入的數據庫類型。能夠指定的數據類型有Btree、Hash、Queue、Recon數據庫,這裏選Hash。
                 "-f"用於指定用戶名/密碼列表文件,如:virtual.file。參考:"/usr/share/doc/db4-utils-4.3.29/utility/db_load.html"
     [root@accp~]# chmod 600 /etc/vsftpd/virtual.*   下降文件權限加強安全性安全

      採用pam驗證模塊,若是沒有能夠進行"yum install -y pam*"安裝,
     [root@accp~]# vim /etc/pam.d/vsftpd.vu
          auth    required   pam_userdb.so  db=/etc/vsftpd/virtual
          account required   pam_userdb.so  db=/etc/vsftpd/virtual
          若是是32位系統則須要把lib64換成lib,不然會報530錯誤沒法登陸,也可加"/lib64/security/pam_userdb.so"。
    
     創建系統賬戶
     [root@accp~]# useradd -d /var/ftp  -s /sbin/nologin luce
     vsftpd虛擬用戶須要有一個對應的系統用戶賬號,該賬號無需登陸shell,該用戶賬號的宿主目錄做爲全部虛擬用戶登陸後共同的FTP棣目錄,即服務器

luce做爲virtual.file文件內的用戶映射。
     [root@accp~]# chmod 755 /var/ftp   給虛擬用戶目錄一個權限
        
     修改配置文件
     [root@accp~]# vim /etc/vsftpd/vsftpd.conf
     chroot_local_user=YES   禁錮在家目錄中,加強安全性
     guest_enable=YES  啓用用戶映射功能
     virtual_use_local_privs=YES
     pam_service_name=vsftpd.vu     修改使用的PAM文件位置(與指定的PAM驗證文件名一致)
     user_config_dir=/etc/vsftpd/virt_dir給虛擬用戶我的vsftp的配置文件一個存放路徑,/etc/vsftpd/virt_dir裏面的文件都是虛擬用戶的專用session

配置文件,注意:配置文件名必須和虛擬用戶名相同
     [root@accp~]# service vsftpd restart 重啓服務
     [root@accp~]# mkdir /etc/vsftpd/virt_dir
     [root@accp~]# cd /etc/vsftpd/virt_dir
     [root@accp~]# vim luce      此文件裏的配置能夠根據須要配置項目
     guest_enable=YES (在centos下yes必須爲小寫字母) 
     guest_username=luce
     local_root=/var/ftp/
     idle_session_timeout=600
     data_connection_timeout=120
     max_clients=10
     max_per_ip=5
     local_max_rate=100000app

 

 

1.創建虛擬用戶訪問
    以上vsftpd 已經安裝完畢,在此不作詳細說明
 
    安裝yum  install  -y  db4-utils-4.7.25-16.el6.x86_64    數據庫文件,須要將虛擬用戶轉換爲數據庫文件,(這裏爲RHEL6.0的db4版本文件)
    或  yum  install -y db4*  所有安裝
     [root@accp~]# yum install -y db4* 
    
    創建帳戶文件(vim  /etc/vsftpd/virtual.file)
     [root@accp~]# vim  /etc/vsftpd/virtual.file
        tom              奇數爲用戶名,偶數爲密碼
        tigerzhang
        john
        tigerzhang
    將virtual.file  文本內容加載到db數據庫
     [root@accp~]# cd /etc/vsftpd
     [root@accp vsftpd]# db_load -T -t hash -f virtual.file  virtual.db
             注:在db_load命令中,"-T"選項容許應用程序可以將文本文件轉譯載入進數據庫。因爲咱們以後是將虛擬用戶的信息以文件方式存儲在tcp

文件裏的,爲了讓vsftpd這個應用程序可以經過文原本載入用戶數據,必需要使用-T。
                 "-t " 用來指定轉譯載入的數據庫類型。能夠指定的數據類型有Btree、Hash、Queue、Recon數據庫,這裏選Hash。
                 "-f"用於指定用戶名/密碼列表文件,如:virtual.file。參考:"/usr/share/doc/db4-utils-4.3.29/utility/db_load.html"
     [root@accp~]# chmod 600 /etc/vsftpd/virtual.*   下降文件權限加強安全性

      採用pam驗證模塊,若是沒有能夠進行"yum install -y pam*"安裝,
     [root@accp~]# vim /etc/pam.d/vsftpd.vu
          auth    required   pam_userdb.so  db=/etc/vsftpd/virtual
          account required   pam_userdb.so  db=/etc/vsftpd/virtual
          若是是32位系統則須要把lib64換成lib,不然會報530錯誤沒法登陸,也可加"/lib64/security/pam_userdb.so"。
    
     創建系統賬戶
     [root@accp~]# useradd -d /var/ftp  -s /sbin/nologin luce
     vsftpd虛擬用戶須要有一個對應的系統用戶賬號,該賬號無需登陸shell,該用戶賬號的宿主目錄做爲全部虛擬用戶登陸後共同的FTP棣目錄,即

luce做爲virtual.file文件內的用戶映射。
     [root@accp~]# chmod 755 /var/ftp   給虛擬用戶目錄一個權限
        
     修改配置文件
     [root@accp~]# vim /etc/vsftpd/vsftpd.conf
     chroot_local_user=YES   禁錮在家目錄中,加強安全性
     guest_enable=YES  啓用用戶映射功能
     virtual_use_local_privs=YES
     pam_service_name=vsftpd.vu     修改使用的PAM文件位置(與指定的PAM驗證文件名一致)
     user_config_dir=/etc/vsftpd/virt_dir給虛擬用戶我的vsftp的配置文件一個存放路徑,/etc/vsftpd/virt_dir裏面的文件都是虛擬用戶的專用

配置文件,注意:配置文件名必須和虛擬用戶名相同
     [root@accp~]# service vsftpd restart 重啓服務
     [root@accp~]# mkdir /etc/vsftpd/virt_dir
     [root@accp~]# cd /etc/vsftpd/virt_dir
     [root@accp~]# vim luce      此文件裏的配置能夠根據須要配置項目
     guest_enable=YES (在centos下yes必須爲小寫字母) 
     guest_username=luce
     local_root=/var/ftp/
     idle_session_timeout=600
     data_connection_timeout=120
     max_clients=10
     max_per_ip=5
     local_max_rate=100000


********************************************************
注意:
1.搭建完服務器後,要注意查看iptables 防火牆 和 setsebool
  iptables -F
  iptables -X
 
  getsebool -a 查看全部的bool信息
  setsebool -P 修改bool信息   將某一個條目改成   "on" 開啓。
  setsebool -P allow_ftpd_anon_write on 
  chcon -t public_content_rw_t /var/ftp/mydir    設置上下文
  chcon -t public_content_rw_t/var/ftp/mydir   更改目錄的條目

特此聲明,因爲在下是一個剛出道的學生,以上實驗是本身在VMware裏搭建的服務,而且運行正常。若有問題望君能及時分享提出寶貴修改意見,以供

可以學習參考,謝謝!!!  

相關文章
相關標籤/搜索