歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux服務器

構建基於NFS文件系統的Openldap身份驗證

一、說明

  LDAP(輕量級目錄訪問協議,Lightweight Directory Access Protocol)是實現提供被稱為目錄服務的信息服務。目錄服務是一種特殊的數據庫系統,其專門針對讀取,浏覽和搜索操作進行了特定的優化。

  二、下載軟件

  ftp://ftp.openldap.org/pub/OpenLDAP/openldap-stable/openldap-stable-20070831.tgz

  三、解壓安裝

  操作環境:RHEL AS4
  #gunzip openldap-stable-20070831.tgz
  #tar xvf openldap-stable-20070831.tar -C /tmp
  #cd /tmp
  #./configure --prefix=/usr/local/openldap
  #make depend
  #make
  #make test
  #make install 

  四、相關配置目錄

  LDAP後台程序slapd目錄:/usr/local/openldap/libexec
  配置文件目錄:/usr/local/openldap/etc
  運行數據庫目錄:/usr/local/openldap/var/openldap-data
  OpenLDAP工具目錄:/usr/local/openldap/bin

  五、修改配置文件

  1) 更改配置文件/usr/local/etc/openldap/slapd.conf
  在include /usr/local/etc/openldap/schema/core.schema這行後面加上下面的行,包括所有的方案。 
      include /usr/local/etc/openldap/schema/corba.schema
      include /usr/local/etc/openldap/schema/cosine.schema
      include /usr/local/etc/openldap/schema/inetorgperson.schema
      include /usr/local/etc/openldap/schema/java.schema
      include /usr/local/etc/openldap/schema/krb5-kdc.schema
      include /usr/local/etc/openldap/schema/misc.schema
      include /usr/local/etc/openldap/schema/nadf.schema
      include /usr/local/etc/openldap/schema/nis.schema
      include /usr/local/etc/openldap/schema/openldap.schema

  2) 在文件slapd.conf的"dbm database definitions"部分更改相應的
      suffix,rootdn行如下
      database dbm
      suffix "dc=example,dc=com"
      rootdn "cn=root,dc=example,dc=com"
      rootpw secret
      directory /usr/local/openldap/var/openldap-data
      rootdn的格式安裝後默認為cn=Manager,這裡改為root完全是自己的喜好,這樣符合
      Unix/Linux中root具有最高權限的傳統。

  3) 現在可以啟動slapd了,運行/usr/local/openldap/libexec/slapd

  可以考慮把/usr/local/bin and /usr/local/libexec加到搜索路徑中,即加到/etc/profile 中的PATH行:

  PATH="$PATH:/usr/X11R6/bin:/usr/local/bin:/usr/local/openldap/libexec"
  這樣下次登錄後只需鍵入slapd

  4)測試ldap server是否正常工作。

  運行下面的命令檢查是否有相應的輸出。

  #ldapsearch -x -b "dc=example,dc=com" "(objectclass=*)"

  5) 下載個migration腳本來創建.ldif文件,鏈接地址:

  http://www.padl.com/download/MigrationTools.tgz
  #gunzip MigrationTools.tgz;tar xvf MigrationTools.tar -C /usr/local/openldap
  #cd /usr/local/openldap/MigrationTools-47
  先編輯migrate_common.ph 文件,將其中兩行改為下列形式
  $DEFAULT_MAIL_DOMAIN = "example.com";
  $DEFAULT_BASE = "dc=example,dc=com";
  要注意修改的方法要和您/usr/local/openldap/etc/openldap/slapd.conf中的dc=example,dc=com 相對應

  創建base.ldif文本文件

  執行
  #./migrate_base.pl > /root/base.ldif
  #./migrate_group.pl /etc/group >> /root/base.ldif
  #./migrate_passwd.pl /etc/passwd >> /root/base.ldif
 
  用ldapadd添加記錄進入LDAP數據庫.
  文件內容如下: 
  dn: dc=example,dc=com
  dc: example
  objectClass: top
  objectClass: domain

  dn: ou=Hosts,dc=example,dc=com
  ou: Hosts
  objectClass: top
  objectClass: organizationalUnit
  ………………more……………………………………………………

  依次類推,添加每個人的記錄進入該文件中
  然後用下面的命令添加上面的.ldif文件進入LDAP數據庫
    
  #ldapadd -x -D "cn=root,o=example,c=us" -w secret -f base.ldif
  注:上面的文件的第一部分"dn: dc=example,dc=com"是必須的,否則不能添加數據。
6)  我們一經將所有用戶、組及其密碼導入了ldap服務器.

  7)   客戶端配置用戶驗證方法
  在客戶端執行authconfig,如附圖所示
  圖片1

構建基於NFS文件系統的Openldap身份驗證(圖一)

點擊查看大圖
 

  圖片2

構建基於NFS文件系統的Openldap身份驗證(圖二)

點擊查看大圖

  對於客戶機器而言,應該將服務器地址寫為提供LDAP服務的機器上。

  注意,客戶端需要每次啟動之後自動運行nscd服務,您可以通過執行ntsysv 命令來使nscd服務自動執行,也可以使用                  chkconfig  –level 35 nscd on 命令來做同樣的事情。

  並且,服務器本身也可以使用自己的Openldap服務器來進行用戶驗證。

  8)   服務器端配置NFS服務

  配置NFS服務器。這很簡單。只需要在/etc/exports 寫一行:

  /home (rw)

  就可以了。並且使得portmap nfs 服務都能夠自動運行。
  chkconfig --level 35 portmap on
  chkconfig --level 35 nfslock on
  chkconfig --level 35 nfs on
  
  客戶端配置nfs
  在/etc/fstab 中增加一行:
  192.168.0.132:/home /home nfs defaults 1 1
  並且使得portmap 和netfs服務能夠自動運行:
  chkconfig –-level 35 portmap on
  chkconfig –-level 35 netfs on
  chkconfig -–level 35 nscd on
  如果netfs服務沒有自動打開。則客戶機無法在啟動的時候成功mount nfs 卷。

  配置完成後,不論用戶在那台機器上登陸,都會去服務器驗證密碼。登陸後所在的初始位置,表面上是客戶機/home/user ,但實質上是服務器上的/home/user,這樣一來,該用戶以前曾經保存的文檔資料,都會儲存在服務器中。不論用戶在何處登陸,文檔資料總是位於同樣的位置。而且,全部用戶的密碼資料,都在Openldap Server 中,便於同一維護,也可以有用戶使用passwd 命令來修改,只不過。這時的passwd 命令改變的不是/etc/shadow 和/etc/passwd 文件,而是OpenLdap Server中的資料。

Copyright © Linux教程網 All Rights Reserved