歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 淺析Linux的模塊驗證(3)

淺析Linux的模塊驗證(3)

日期:2017/2/27 9:28:31   编辑:更多Linux
  接下來,我們需要Windows PDC支持Kerberos PAM模塊。利用Active Directory Users和Computers應用程序,就可以建立以客戶機(不是計算機帳號)命名的用戶帳號。使用開頭名字、全名及用戶登錄名 字段當中的Linux服務器的DNS主機名。你會希望對帳號進行限制,但務必要對變更進行全面測試。     我們把客戶機及其域帳號命為linux。你應該為這些用戶機器在域中建立新的cannister/group,以便明確哪些帳號用於實際域用戶、哪些帳號是Kerberos用戶機器帳號。     我們需要安裝windows 2000支持工具來運行ktpass應用程序,這些工具放在服務器光盤名為support的目錄上:\Program Files\Support Tools。該工具會為使用Windows 2000 KDC的Kerberos服務生成一個密鑰文件。在PDC的命令行上運行以下命令:     ktpass -princ host/ linux@ DOMAIN.NET -mapuser linux -pass

Word> -out   linux.keytab    注意使用用戶機器帳號名linux和域名DOMAIN.NET以及口令,口令應該與你在建立linux用戶機器帳號時使用的一樣。程序輸出結果應該如下:     SUCcessfully mapped host/linux to linux.  Key created.  Output keytab to linux.keytab:  Keytab version: 0x502   keysize 48 host/linux@ DOMAIN.NET ptype 1 (KRB5_NT_PRINCIPAL) vno 1 etype 0x1   (DES-CBC-CRC) keylength 8 (0xa27a8af1fe67ec07)   Account has been set for DES-only encryption.     然後把該文件安全地拷貝到Linux主機上,保存為/etc/krb5.keytab。密鑰文件提供在所謂的Kerberos Principle和Active Directory中的用戶之間提供了映像。不要覆蓋現有的密鑰,不然你會失去基於Kerberos的其它訪問權。為此請使用ktutil。     確保系統時鐘與KDC系統時鐘保持同步(保持在2分鐘以內)。不然,Kerberos驗證會由於時鐘脈沖相位差(clock skew)出現問題而失敗。可以利用網絡定時協議(NTP)服務器保持同步。     困難部分已解決。下一步即配置POP和IMAP服務器使用Kerberos驗證想必大家很熟悉。首先要確保POP和IMAP服務已安裝,如“修改後的POP PAM配置”圖所示。       修改後的POP PAM配置    這種修改適用於普通POP和基於SSL的POP。如果你偏愛使用IMAP,就應該對/etc/pam.d/imap作同樣的修改。如果使用這些協議的SSL變種,就不必建立SSL證書和密鑰對,因為它們隨Red Hat 7.2一同交付。然而,這種證書是所謂的自簽名證書,它會促使電子郵件客戶程序告訴用戶:它們無法認可證書簽名者的權限。     欲了解使用由一家公認的認證機構(CA)簽名的證書方面的信息,請參閱Red Hat 7.2文檔。     確保通過編輯/etc/xinetd.d/ipop3、/etc/xinetd.d/pop3s、/etc/xinetd.d/imap和/etc/xinetd.d/imaps來運行POP或IMAP服務,它們分別代表POP訪問、基於SSL的POP訪問、IMAP訪問及基於SSL的IMAP訪問。確保每個文件裡面都有disable=no這一行。     然後重新啟動xinetd,激活電子郵件服務器:     /etc/init/d/xinetd restart     通過Kerberos的POP服務驗證    最後,配置電子郵件客戶程序以便可以使用POP或IMAP(無論標准的還是基於SSL的)連接到Linux服務器。我們要再次確保建立的Linux服務器上的用戶帳號與Windows Active Directory域中那些帳號相匹配。配置電子郵件客戶程序,以便可以向Windows發送用戶ID和口令,這樣你就可以通過Active Directory證書使用基於Linux的電子郵件。     附文:PAM中的Windows Domain驗證     為了依托微軟Windows域驗證Linux系統當中的各種服務,你需要Red Hat 7.2 Linux安裝光盤所沒有的PAM模塊。可從FTP://ftp.samba.org/pub/samba/pam_smb/下載。截至寫稿日期,最新版本是1.1.6。把它安裝到你的Linux系統上,然後運行下列命令:     tar zxvf pam_smb-1.1.6.tar.gz  cd pam_smb  ./configure  make  cp pam_smb_auth.so /lib/security/     你要編輯/etc/pam_smb.conf文件,以便內容類似:     DOMAIN   PDC   BDC1   BDC2    DOMAIN是Windows域的名字, PDC 是主域控制器的NetBIOS名字。BDC行和後備域控制器的NetBIOS名字是可選項。事實上,任何Windows NT或2000服務器在這裡都可以使用,只要在同一個域。利用PDC和BDC,就能確保始終有服務器在運行、響應。最後,編輯/etc/hosts文件,添加以下行:     192.168.1.1 pdc.domain.net pdc 192.168.1.2 bdc1.domain.net bdc1 192.168.1.3   bdc2.domain.net bdc2     你所用的IP地址就是PDC和BDC的地址,而完全符合標准的域名即FQDN(pdc.domain.net)就是這些機器的實際DNS名。每行的最後一個名字就是NetBIOS名字。如果NetBIOS名字與每個域控制器DNS主機名相匹配、如果Linux服務器不用完全符合標准的域名通過DNS解析域控制器的名字,那這最後一步也許沒有必要。換句話說,如果PDC的NetBIOS名字是PDC,那麼你在Linux服務器上輸入後ping pdc,應該會得到ping響應。否則,你必須按照上述格式編輯/etc/hosts。然而運行ping pdc會得到正常結果,pam_smb也會一樣。欲了解有關Windows域當中的口令發問/應答驗證工作原理的詳細情況,請參閱us1.samba.org/samba/ftp/docs/textdocs/ENCRYPTION.txt。     附文:面向Unix的Windows服務     我們把精力集中到了驗證任務上,沒有密切關注如何在Linux和Windows之間保持帳號管理同步。這無異是項困難的任務。為了方便,Active Directory提供了一項重要特性:LDAP接口。     從理論上來說,Linux可以使用LDAP接口獲得帳號信息。然而實際上,這功能不大有用。名為pam_ldap的一個模塊可以通過PAM來使用LDAP目錄,但需要Active Directory的LDAP接口在默認狀態下沒有的某些屬性。Active Directory中的默認模式對Unix主機來說直接沒有用處,因為它沒有Unix組、用戶ID、群組ID甚至Unix口令散列等概念。     為了正常使用,就要在PDC上安裝微軟的Windows 2000 Unix版服務(SFU),這是通常單獨購買的一個附加產品。     但我們要注意這對PDC產生的影響。SFU通過把域安裝到PDC上使自己位於Active Directory域。一旦安裝完畢,域會更改目錄模式,以便對Unix更加友好(從理論上來說,用戶可以手工更改目錄。)     SFU帶來的不僅僅是模塊更改,它還使我們能夠為Unix當中的成批帳號管理采用標准機制:網絡信息服務(NIS)。     除了模式增強及NIS服務外,SFU還提供其它服務,譬如NFS客戶機、服務器和網關;用戶名映射;NFS驗證服務器;口令同步;ActiveState;ActivePerl以及一些Unix實用程序。     通過SMB口令發問/應答的SSH服務驗證




Copyright © Linux教程網 All Rights Reserved