其實,網路上的做法,也沒不對,只是自己死都不想這樣做…
LDAP用yum載下安裝openldap/openldap-clients/openldap-devel/openldap-servers
然後,先到/var/lib/ldap中去看看是否有檔案,若有,請刪掉
接著,到/etc/openldap下修改ldap.conf與sladp.conf
在ldap.conf中請加上
HOST 127.0.0.1
BASE (sladp中的suffix)
URI ldap://127.0.0.1
sladp.conf中請修改
database bdb
suffix "dc=your,dc=domain,dc=name"
rootdn "uid=root,ou=People,dc=your,dc=domain,dc=name"
rootpw {sha}xxxxxxxxx
ou可以想做一個節點的起頭名稱
uid就是ou下的其他子節點的名稱
想法就是tree node
rootpw可以是明碼,但也可用slappasswd來做加密暗碼
以上ldap.conf與slapd.conf修改好後
請上網找MigrationTools下來解壓縮
先請修改migrate_common.ph
if ($NETINFOBRIDGE) { $NAMINGCONTEXT{'aliases'} = "cn=aliases"; $NAMINGCONTEXT{'fstab'} = "cn=mounts"; $NAMINGCONTEXT{'passwd'} = "cn=People"; $NAMINGCONTEXT{'netgroup_byuser'} = "cn=netgroup.byuser"; $NAMINGCONTEXT{'netgroup_byhost'} = "cn=netgroup.byhost"; $NAMINGCONTEXT{'group'} = "cn=Group"; $NAMINGCONTEXT{'netgroup'} = "cn=netgroup"; $NAMINGCONTEXT{'hosts'} = "cn=machines"; $NAMINGCONTEXT{'networks'} = "cn=networks"; $NAMINGCONTEXT{'protocols'} = "cn=protocols"; $NAMINGCONTEXT{'rpc'} = "cn=rpcs"; $NAMINGCONTEXT{'services'} = "cn=services"; } else { $NAMINGCONTEXT{'aliases'} = "ou=Aliases"; $NAMINGCONTEXT{'fstab'} = "ou=Mounts"; $NAMINGCONTEXT{'passwd'} = "ou=People"; $NAMINGCONTEXT{'netgroup_byuser'} = "nisMapName=netgroup.byuser"; $NAMINGCONTEXT{'netgroup_byhost'} = "nisMapName=netgroup.byhost"; $NAMINGCONTEXT{'group'} = "ou=Group"; $NAMINGCONTEXT{'netgroup'} = "ou=Netgroup"; $NAMINGCONTEXT{'hosts'} = "ou=Hosts"; $NAMINGCONTEXT{'networks'} = "ou=Networks"; $NAMINGCONTEXT{'protocols'} = "ou=Protocols"; $NAMINGCONTEXT{'rpc'} = "ou=Rpc"; $NAMINGCONTEXT{'services'} = "ou=Services"; } |
然後可以用./migrate_group.pl /etc/group group.ldif與./migrate_passwd.pl /etc/passwd user.ldif來新增使用者與群組名單…當然,在哪台linux上所成檔的就是那台的使用者與群組了
接著,可以自己做base.ldif與container.ldif
base的意義很好了解,就是tree node的底,也就是基點
大至可以如下:
base.ldif
dn: dc=your,dc=domain,dc=name objectClass: top objectClass: domain dc: your |
objectClass就是scheme…有很多,所以要查詳細可以打發無聊時間
dc不知道
container.ldif是定基點後的群分點
dn: ou=People,dc=your,dc=domain,dc=name objectClass: top objectClass: organizationalUnit ou: People dn: ou=Group,dc=your,dc=domain,dc=name objectClass: top objectClass: organizationalUnit ou: Group |
ou前面就有說過了…
ok,四個檔案,base/container/group/user
接著,請到/etc/openldap中找找看是否有DB_CONFIG.EXAMPLE
若有,請改成DB_CONFIG然後移存到/var/ldap下
請得最好chown成ldap:ldap
然後,請啟動ldap(service ldap start),若很正常,就不會到看什麼奇怪的錯誤
再來利用ldapadd把上述四個檔案加入,順序是base/container/group/user
完整語法是ldapadd -x -f base.ldif -D "uid=root,ou=People,dc=your,dc=domain,dc=name" -W
輸入執行後,會叫你輸入ldap的rootpw
接著,若檔案中的東西沒寫錯的話,就會看到add new entry等字樣…
依序add其他三個檔案吧…
接著,請chkconfig ldap on bootup,然後重啟機器,看看重啟後是否有異…
再來,就是wireless的設定了
學校這是用iaVista...
進入admin的網頁,然後看到功能選單的認証方法
點選LDAP,然後新增…
server ip: 你知道的那台
port: ldap預設是389
server name: 就用domain-name吧
Base dn:ou=People,dc=your,dc=domain,dc=name
(Base dn,我一開始是以為像ldap.conf的BASE一樣,但後面發現,在設定wireless中有一個username field,若設定成BASE的話,以上述的設定會找不到,因為我們的username是在People節點之後,所以,Base dn要從ou=People找起)
username field: uid(因為name就放在uid嘛)
然後選Anonymous bind,因為並無特殊限定
ok,按下確定
再來到認証方法中新增出LDAP即可…
以上,接著來就是做openwebmail、pop3、ftp的結合了
沒有留言:
張貼留言