• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      利用虛擬用戶賬號訪問基于linux的FTP服務(wù)器

      2014-10-10 16:58:11邵雨舟
      電腦知識與技術(shù) 2014年24期
      關(guān)鍵詞:配置文件

      摘要:FTP是文件傳輸協(xié)議的縮寫,它是Internet最早提供的網(wǎng)絡(luò)服務(wù)功能之一,利用FTP服務(wù)可以實現(xiàn)文件的上傳及下載等相關(guān)的文件傳輸服務(wù)。 Linux的FTP服務(wù)器根據(jù)服務(wù)的對象可以支持3種用戶:匿名帳戶、本地帳戶、虛擬用戶 。其中虛擬用戶的配置比較麻煩,虛擬用戶是FTP專有用戶,使用虛擬用戶登錄FTP只能訪問FTP服務(wù)器提供的資源,大大增強了系統(tǒng)的安全,虛擬用戶不能用這些用戶名登錄到服務(wù)器中,而只能登錄到FTP。該文將對虛擬用戶的配置和使用加以介紹。

      關(guān)鍵詞:虛擬用戶;FTP ;配置文件;權(quán)限

      中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2014)24-5620-04

      從FTP服務(wù)器的安全角度考慮,可以為不同的訪問者設(shè)置不同的訪問賬號。對于系統(tǒng)中的合法用戶,可以用本地用戶賬號以/etc/passwd中的用戶名為認證方式,當這類用戶登錄FTP服務(wù)器的時候,其默認的主目錄就是他們的home目錄;在服務(wù)器上沒有賬戶的的用戶,使用匿名(anonymous或ftp)身份獲取公共資源,不需要密碼。登錄后默認進入/var/ftp服務(wù)目錄(當然也可以根據(jù)需要自己建立目錄);FTP服務(wù)器為虛擬用戶建立專有的用戶,將賬號及密碼保存在賬號數(shù)據(jù)庫中,采用非系統(tǒng)賬戶訪問服務(wù)器資源,相對于FTP的本地用戶而言,虛擬用戶只能訪問FTP共享資源,而不能登錄linux服務(wù)器,增強了系統(tǒng)安全性。

      通常,匿名帳戶可以很好的保證FTP服務(wù)器的安全性,但是,對匿名用戶的權(quán)限管理不夠靈活。如果想對訪問FTP的帳戶給予更多的權(quán)限,就要使用本地帳戶來實現(xiàn)。但是,本地帳戶默認情況下是可以登陸Linux系統(tǒng)的,這樣對Linux系統(tǒng)來說是一個安全隱患。那么怎么能在靈活的賦予FTP用戶權(quán)限的前提下,保證FTP服務(wù)器乃至整個Linux系統(tǒng)的安全呢?

      使用虛擬用戶就是一種解決辦法。虛擬用戶,顧名思義,并不是一個合法的Linux系統(tǒng)帳戶,但是他可以用來登陸該系統(tǒng)上運行的FTP服務(wù)器,當用戶在連接上FTP服務(wù)器后,會被要求輸入用戶名和密碼,F(xiàn)TP服務(wù)器在拿到這個用戶名和密碼后,會調(diào)用相應(yīng)的PAM認證模塊對,和系統(tǒng)中的FTP認證文件進行相比較。如果該用戶名和密碼與FTP認證文件中的某條記錄相符,就可以通過認證,此時該帳戶就被映射成一個Linux下的本地帳戶,然后就可以使用該本地帳戶對FTP資源進行訪問,否則就斷開該連接請求。

      在FTP服務(wù)器上創(chuàng)建虛擬用戶的步驟如下:

      建立虛擬用戶口令文件

      生成vsftpd的認證文件

      建立虛擬用戶所需的PAM配置文件

      建立虛擬用戶訪問所需要的目錄

      修改vsftpd.conf配置文件。

      定義虛擬用戶的配置文件

      下面我們通過一個應(yīng)用實例來介紹在FTP服務(wù)器上創(chuàng)建虛擬用戶。

      要求:添加三個FTP虛擬用戶user1、user2、user3

      設(shè)置用戶訪問及文件權(quán)限控制:

      User1:有瀏覽目錄、上傳、改名、刪除等權(quán)限;

      User2:有瀏覽目錄、上傳、下載權(quán)限;

      User3:有瀏覽目錄、下載的權(quán)限,速度為20k;

      對于以上3個用戶可以登陸FTP服務(wù)器,但不能登陸到linux系統(tǒng),這樣可以保證FTP服務(wù)器的安全。

      1 建立虛擬用戶的口令庫文件

      首先我們需要創(chuàng)建一個文本文件(這個文本文件的命名是任意的):ftpuser.txt ,在文件中為每個虛擬用戶建立一個登錄賬號和口令,要求登錄賬號和口令都要單獨占用一行。

      其中:奇數(shù)行為虛擬用戶名,偶數(shù)行為相應(yīng)的口令,在該文件中,不要存在空格和空行。

      2 生成虛擬用戶的認證數(shù)據(jù)庫文件

      把剛才建立的虛擬用戶口令庫文件通過db_load命令生成FTP服務(wù)器的認證的數(shù)據(jù)庫文件,該認證文件是一個被加密后的密文。用戶訪問FTP服務(wù)器的時候,F(xiàn)TP服務(wù)器的vsftpd服務(wù)程序把用戶的請求發(fā)送到PAM模塊進行認證。PAM在調(diào)用相應(yīng)的認證模塊后,會對從FTP服務(wù)器發(fā)來的用戶名和密碼進行加密,然后再和該數(shù)據(jù)庫文件進行對比,發(fā)現(xiàn)相符條目后,登陸用戶才會被允許登陸。

      圖1 PAM工作原理示意圖

      可以使用db_load命令將用戶文本信息文件轉(zhuǎn)換為db數(shù)據(jù)庫并按照hash方式進行加密。

      db_load是軟件包db4_utils帶的命令,在RHEL5上沒有安裝,需要安裝db4_utils這個軟件包才支持db_load命令。db4-utils-4.3.29-9.fc6.i386.rpm在安裝盤的Server目錄中。

      db_load命令一定要在運行:rpm —ivh db4-utils-4.3.29-9.fc6.i386.rpm 命令后才能使用。

      db_load命令使用格式如下:

      #db_load —T —t hash —f ftpuser.txt /etc/vsftpd/vuser.db

      其中:

      選項:-T 允許應(yīng)用程序能夠?qū)⑽谋疚募D(zhuǎn)譯載入進數(shù)據(jù)庫。由于我們是將虛擬用戶的信息以文件方式存儲在文件里的,所以必須要使用這個選項。

      因為使用了選項-T,那么一定要使用子選項 —t ;子選項-t放在-T選項后,用來指定轉(zhuǎn)譯載入的數(shù)據(jù)庫類型,hash就是使用hash碼加密。

      選項:-f 參數(shù)后面接包含用戶名和密碼的文本文件。

      最后一項是生成的數(shù)據(jù)庫的路徑和文件名,該文件必須放在“/etc/vsftpd/”中。

      由于vsftpd的認證文件vuser.db里保存了所有虛擬用戶的用戶名和密碼,為了增強其安全性,應(yīng)當設(shè)置只有root才可以查看。

      #chmod 600 /etc/vsftpd/vuser.db ;修改數(shù)據(jù)庫權(quán)限

      3 創(chuàng)建虛擬用戶使用的PAM認證文件 /etc/pam.d/vsftpd

      在Linux中,大多數(shù)程序都定義使用叫做PAM的方法進行身份認證,PAM是一個可插入式的、模塊化的結(jié)構(gòu),它為系統(tǒng)管理員設(shè)置用戶身份驗證政策提供了很大的靈活性。

      一個支持PAM的應(yīng)用程序的默認PAM配置文件就可以滿足一般的要求。但是在有些情況下,還是需要對PAM配置文件進行特殊的配置。因為如果對PAM進行了錯誤的配置可能會導致系統(tǒng)的安全性被破壞,所以在對這些文件進行配置前必須對這些文件的結(jié)構(gòu)有一定的了解。

      每個支持PAM的應(yīng)用程序或服務(wù)都在/etc/pam.d/目錄中有一個對應(yīng)的文件,這個對應(yīng)的文件名稱與它們所控制訪問的服務(wù)名稱相同。支持 PAM 的應(yīng)用程序需要定義它們的服務(wù)名并在/etc/pam.d/目錄中安裝它們自己的PAM配置文件。例如vsfptd程序定義了它的服務(wù)名為vsftpd,并安裝/etc/pam.d/vsftpd配置文件。這里要注意,該文件名要與FTP服務(wù)主配置文件(/etc/vsftpd/vsftpd.conf)中的pam_service_name=vsftpd選項的選項值相同。

      PAM配置文件用于為應(yīng)用程序提供用戶認證控制(本地和虛擬賬號登陸)。

      如果是本地賬戶登陸,則認證文件名必須是:/etc/pam.d/vsftpd;

      如果只用虛擬賬號登陸,則文件名為:vsftpd.vu;

      將虛擬用戶的配置寫入本地用戶的驗證文件,就可以實現(xiàn)本地用戶和虛擬同時登錄ftp。

      配置命令如下:

      #vi /etc/pam.d/vsftpd

      #%PAM-1.0

      auth sufficient pam_userdb.so db=/etc/vsftpd/vusers

      account sufficient pam_userdb.so db=/etc/vsftpd/vusers

      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 system_ayth

      account include system_ayth

      session include system_ayth

      session required pam_loginuid.so

      參數(shù)如下。

      auth :是authentication(認證)的縮寫,認證、授權(quán)(檢查用戶的名字、密碼正確與否);

      account:是賬戶,檢查用戶的帳戶是否到期、禁用等;

      pam_userdb.so:說明使用數(shù)據(jù)庫驗證;db=庫文件名,后綴名.db可以不用寫;

      Sufficient:表示遞歸查找,最上2行表示虛擬用戶配置文件,下面的都是本地用戶配置文件。當上面查找不到時,再查找下面的。如果為required,則只能登錄虛擬用戶。

      該文件第一行是注釋行,由該行行首的井字號(#)標示。

      注意:pam文件中db后面的數(shù)據(jù)庫不能加擴展名。

      在此文件中,只有第二行和第三行是虛擬用戶認證設(shè)置行,必須要放在其他行的前面。其他行可以不用管它。

      4 建立虛擬用戶及所要訪問的目錄并設(shè)置相應(yīng)的權(quán)限

      建立虛擬用戶對應(yīng)的系統(tǒng)賬號 virtual,虛擬用戶賬戶不能登錄系統(tǒng),只能用于訪問FTP服務(wù)器。通過下列命令建立vsftpd虛擬用戶所需的系統(tǒng)本地帳號virtual:

      # useradd -s /sbin/nologin virtual

      其中選項: -s /sbin/nologin 表示指定shell環(huán)境,不允許登錄系統(tǒng)。

      創(chuàng)建虛擬用戶要訪問的目錄:

      # mkdir /home/virtual

      虛擬用戶必須有一個宿主目錄,否則虛擬用戶無法登陸。

      建立的虛擬用戶的宿主目錄默認都是700權(quán)限,由于/home/virtual是公共目錄,是不允許普通用戶修改、添加、刪除和重命名的,所以將其改成500(讀+執(zhí)行)即可。

      # chmod o+rw /home/virtual

      5設(shè)置vsftpd.conf配置文件

      在vsftpd.conf配置文件中添加虛擬用戶的配置項,內(nèi)容如下:

      #vi /etc/vsftpd/vsftpd.conf

      write_enable=YES

      anonymous_enable=NO ;禁用匿名用戶登錄

      local_enable=YES ;啟用本地用戶登錄是為了能夠讓虛擬用戶登錄

      chroot_local_user=YES ;將所有本地用戶限制在自己的目錄中

      pam_service_name=vsftpd ;配置vsftpd使用的PAM模塊為vsftpd

      user_config_dir=/etc/vsftpd/vs_dir ;設(shè)置虛擬賬戶配置文件的主目錄為 /users_config

      注意,在vsftpd.conf主配置文件中這里千萬不要添加:guest_enable=yes和guest_username=virtual 這2行,否則本地用戶無法寫入文件,就算權(quán)限足夠也不行。

      為了保證服務(wù)器的安全,需要關(guān)閉匿名訪問及與匿名相關(guān)的設(shè)置;虛擬用戶會映射為服務(wù)器的系統(tǒng)賬號,所以需要開啟本地用戶的支持。

      6 創(chuàng)建虛擬用戶配置文件目錄

      為了實現(xiàn)對不同虛擬用戶的權(quán)限設(shè)置,要為不同的虛擬用戶各自定義一個配置文件,這些配置文件要放在vsftpd.conf 文件中有user_config_dir選項定義的路徑中。

      在此,我們創(chuàng)建虛擬用戶配置文件的主文件夾為/etc/vsftpd/vs_dir,并在此文件夾下建立虛擬用戶user1、user2和user3的配置文件。

      # mkdir /etc/vsftpd/vs_dir

      7 創(chuàng)建虛擬用戶的各自宿主目錄

      #mkdir /home/virtual/user1_folder

      #mkdir /home/virtual/user2_folder

      #mkdir /home/virtual/user3_folder

      #chown virtual /home/virtual/ user1_folder

      #chown virtual /home/virtual/ user2_folder

      #chown virtual /home/virtual/ user3_folder

      8 創(chuàng)建虛擬用戶配置文件

      1) 編輯user1用戶的需求配置文件:有瀏覽目錄、上傳、改名、刪除等權(quán)限

      # vi /etc/vsftpd/vs_dir/user1

      guest_enable=YES 開啟虛擬賬戶登錄

      guest_username=virtual 設(shè)置虛擬用戶的賬戶為virtual

      anon_world_readable_only=NO 允許用戶瀏覽FTP目錄和下載文件

      anon_other_write_enable=YES 允許進行文件改名和刪除文件的權(quán)限

      anon_mkdir_write_enable=YES 表示用戶具有建立和刪除目錄的權(quán)利

      anon_upload_enable=YES 表示用戶可以上傳文件

      local_root=/home/virtual/user1_folder

      2) 編輯user2用戶的需求配置文件:有瀏覽目錄、上傳、下載權(quán)限

      # vi /etc/vsftpd/vs_dir/user2

      guest_enable=YES

      guest_username=virtual

      anon_world_readable_only=NO

      anon_mkdir_write_enable= NO

      anon_other_write_enable= NO

      anon_upload_enable=YES

      local_root=/home/virtual/user2_folder

      3) 編輯user3用戶的需求配置文件:有瀏覽目錄、下載的權(quán)限,速度為20k

      #vi /etc/vsftpd/vs_dir/user3

      guest_enable=YES

      guest_username=virtual

      anon_world_readable_only=NO

      anon_mkdir_write_enable= NO

      anon_other_write_enable= NO

      local_root=/home/virtual/ user3_folder

      anon_max_rate=20000

      9 最后重啟vsftpd服務(wù)即可

      #service vsftpd start

      分別以三個用戶登錄,驗證結(jié)果。如果設(shè)置虛擬賬號后,再用匿名賬號登陸,就會出項:Reading non-root config file 的錯誤提示,導致匿名賬號無法登陸。

      可以采取如下措施解決:在虛擬賬號用戶的配置文件目錄下創(chuàng)建一個名稱為ftp的空文件即可。

      # touch /etc/vsftpd/vs_dir/ftp

      猜你喜歡
      配置文件
      基于Docker的實時數(shù)據(jù)處理系統(tǒng)配置文件管理軟件的設(shè)計與實現(xiàn)
      提示用戶配置文件錯誤 這樣解決
      掌握顏色查找表的魔力
      影像視覺(2021年12期)2021-12-14 21:23:00
      從Windows 10中刪除所有網(wǎng)絡(luò)配置文件
      用軟件處理Windows沙盒配置文件
      電腦愛好者(2020年9期)2020-07-05 03:17:34
      搭建簡單的Kubernetes集群
      互不干涉混用Chromium Edge
      基于Zookeeper的配置管理中心設(shè)計與實現(xiàn)
      忘記ESXi主機root密碼怎么辦
      為View桌面準備父虛擬機
      古交市| 阿拉善右旗| 北流市| 阳朔县| 大邑县| 中卫市| 二连浩特市| 三河市| 公安县| 林周县| 青海省| 黎城县| 临猗县| 德安县| 明光市| 大名县| 绥中县| 兰溪市| 和田县| 德江县| 昭觉县| 安义县| 八宿县| 乾安县| 凤冈县| 夏河县| 濮阳市| 乐都县| 厦门市| 方城县| 平昌县| 宿迁市| 湖北省| 杭锦后旗| 华安县| 无极县| 贞丰县| 崇义县| 翁源县| 科技| 兴国县|