• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • PAM認證模塊使用實例

    發表于:2007-07-02來源:作者:點擊數: 標簽:
    概述:本文給出幾個通過自定義配置PAM提高 網絡 服務 安全 性的例子,希望對試圖進一步了解PAM的朋友起到拋磚引玉的作用。 實例一:系統使用proftpd提供ftp服務,但是不希望任何用戶都可以訪問ftp服務,希望可以定義一個文件,只有在該文件中定義的用戶可以

        概述:本文給出幾個通過自定義配置PAM提高網絡服務安全性的例子,希望對試圖進一步了解PAM的朋友起到拋磚引玉的作用。


        實例一:系統使用proftpd提供ftp服務,但是不希望任何用戶都可以訪問ftp服務,希望可以定義一個文件,只有在該文件中定義的用戶可以使用ftp服務。

        通過分析需求,我們可以知道,也就是要實現基于用戶名的ftp服務的訪問控制。通過閱讀proftpd的文檔,我們可以發現,proftpd是完全支持PAM的。所以我們的實現的思路和步驟是這樣的:首先,打開proftpd的PAM支持,也就是說,告訴proftpd用戶認證讓PAM去完成。這一點可以通過幾個proftpd的配置選項來實現,以下是我們的proftpd.conf配置文件的內容:

    #/etc/proftpd.confServerName "proftpd for real user"ServerType standaloneDefaultServer onServerIdent offPort 21Umask 022MaxInstances 3User nobodyGroup nobodyUseReverseDNS offAuthPAM onAuthPAMAuthoritative onAuthPAMConfig ftpDefaultRoot ~AllowOverwrite on

        我們對關于PAM的幾個選項作個說明:

        AuthPAM:設置是否采用PAM用戶認證模塊進行用戶認證。AuthPAMAuthoritative:是否使用PAM作為最終的用戶認證方法。AuthPAMConfig:指定進行PAM認證時使用的配置文件名稱,PAM配置文件位于/etc/pam.d/目錄下。

        這樣設置以后,我們的proftpd就可以支持PAM認證方法了。

         我們這樣定義/etc/pam.d/ftp文件:

    [root@test /root]# more /etc/pam.d/ftp#%PAM-1.0auth required /lib/security/pam_listfile.so item=user sense=allow file=/etc/ftpwho onerr=failauth required /lib/security/pam_pwdb.so shadow nullokaclearcase/" target="_blank" >ccount required /lib/security/pam_pwdb.sosession required /lib/security/pam_pwdb.so

        其中的pam_listfile.so模塊就是用來實現基于用戶的ftp控制。Item=user就表明是通過用戶名進行控制,sense=allow表示如果用戶名出現在/etc/ftpwho文件中就返回認證成功信息,file=/etc/ftpwho指定配置文件,onerr=fail表示如果出現某些錯誤(比如無法打開配置文件等)時返回的結果,這里是失敗信息。關于pam_listfile模塊的詳細資料,可以參考解決方案中的“常見的PAM認證模塊簡介”系列文章。

        然后,我們在/etc下建立ftpwho文件,并在其中加入可以進行ftp訪問的用戶名,要注意每個用戶占一行,之后重啟動proftpd,就可以根據這個配置文件通過用戶名來對ftp訪問進行控制了。

        實例二:控制可以登錄系統的用戶,只有root可以從本地登錄,bye2000以及tom用戶可以從192.168.1.0網段登錄,其他用戶均不可以登錄系統。

    修改/etc/pam.d/login文件如下所示: /root]# more /etc/pam.d/login#%PAM-1.0auth required /lib/security/pam_securetty.soauth required /lib/security/pam_stack.so service=system-authauth required /lib/security/pam_nologin.soaccount required /lib/security/pam_stack.so service=system-authaccount required /lib/security/pam_access.so accessfile=/etc/login.confpassword required /lib/security/pam_stack.so service=system-authsession required /lib/security/pam_stack.so service=system-authsession optional /lib/security/pam_console.so

    即,我們在原來的基礎上加入了以下這一條規則:account required /lib/security/pam_access.so accessfile=/etc/login.conf

        這條規則的意思時,我們使用pam_access模塊,通過配置文件/etc/login.conf來對用戶訪問進行控制,accessfile參數即指明了配置文件的完整路徑。

        根據需求,我們的/etc/login.conf文件內容如下:

    [root@test /root]# more /etc/login.conf+:root:LOCAL+:bye2000 tom:192.168.1.-:ALL:ALL

        該配置文件說明:

        該文件的每一行由如下三個字段構成,中間使用冒號分割:權限 : 用戶 : 來源權限字段可以是”+”(即允許訪問),”-”(禁止訪問);用戶字段可以是用戶名、組名以及諸如格式的用戶名,ALL表示任何人,具有多個值時,可以用空格分開。來源字段可以是tty名稱(本地登錄時)、主機名、域名(以”.”開始),主機ip地址,網絡號(以”.”結束)。ALL表示任何主機,LOCAL表示本地登錄??梢允褂肊XCEPT操作符來表示除了…之外。

        所以:+:root:LOCAL---表示root用戶可以從本地登錄。+:bye2000 tom:192.168.1.---表示bye2000和tom可以從192.168.1.0/24網段te.net登錄。-:ALL:ALL---表示拒絕其他任何人登錄。

        關于pam_access模塊的詳細資料,可以參考解決方案中的“常見的PAM認證模塊簡介”系列文章。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>