LDAP

LDAP:輕量級目錄訪問控制協議(AD、one directory)
用戶賬號的集中管理和集中控制php

安裝:

yum install openldap openldap-servers -y
openldap 協議包
openldap-servers 服務端程序html

ls /etc/openldap/ 主目錄
ldap.conf 客戶端配置文件
slapd.conf 服務器端配置文件
/etc/openldap/schema 模板存放位置 nis.schema
查看是否有已定義好的架構,關於描述Linux系統用戶和系統的組的對象類和屬性類:
vim /etc/openldap/schema/nis.schema
objectclass ( 1.3.6.1.1.1.2.0 NAME 'posixAccount'
DESC 'Abstraction of an account with POSIX attributes'
SUP top AUXILIARY
MUST ( cn $ uid $ uidNumber $ gidNumber $ homeDirectory ) 字段值不能爲空
MAY ( userPassword $ loginShell $ gecos $ description ) ) 字段值無關緊要數據庫

修改主配置文件:

vim /etc/openldap/slapd.conf
loglevel 增長調試日誌輸出,配置syslog服務local4.debug /var/log/sldap.log
include /etc/openldap/schema/nis.schema 包含定義好的架構
allow bind_v2 定義版本,向下兼容
pidfile /var/run/openldap/slapd.pid 服務啓動後pid文件
database bdb b伯克利 db數據庫
suffix "dc=bj,dc=name,dc=com" 定義DC
rootdn "cn=ys,dc=bj,dc=name,dc=com" 區別名稱,惟一標識一條記錄,管理dn(cn爲ldap管理員賬號,不要寫ou,管理全部的ou)
rootpw 123456 管理員密碼
定義密文的管理員密碼:slappasswd -h {md5}
{MD5}4QrcOUm6Wau+VuBX8g+IPg==
directory /var/lib/ldap 真正數據庫的位置,權限爲700,全部者及組爲ldap
自定義誰能夠訪問目錄中的內容,並但願用戶能夠本身修改密碼,還能夠讓用戶讀取除密碼條目之外的其餘條目:
access to attrs=shadowLastChange,userPassword
by self write
by * read
by * auth
access to *
by * read
拷貝數據庫的配置文件到/var/lib/ldap/下,並修改屬主屬組:
cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap.ldap /var/lib/ldap/DB_CONFIG
啓動服務:/etc/init.d/ldap startapache

/usr/share/openldap/migration/ 存放着腳本文件
ldap庫模板定義生成ldap目錄結構,這些perl腳本的配置信息包含在migrate_common.ph文件中:
vim /usr/share/openldap/migration/migrate_common.ph修改命名前綴變量:
$DEFAULT_MAIL_DOMAIN = "bj.name.com";
$DEFAULT_BASE = "dc=bj,dc=name,dc=com";
在上面的目錄中執行:./migrate_base.pl > /tmp/name.ldif生成能夠導入ldap的ldif文件
能夠用vim修改裏面的內容,注意開頭的頂極組織域不能刪除,ou可根據本身的需求進行保留和修改
創建測試用戶:useradd ldap1
echo "123" |passwd --stdin ldap1
grep ldap1 /etc/passwd > /tmp/user
grep ldap1 /etc/group > /tmp/group
在上面的目錄中生成用戶和組的ldif文件:
./migrate_passwd.pl /tmp/user > /tmp/user.ldif
./migrate_group.pl /tmp/group > /tmp/group.ldifvim

導入生成的ldif文件:

ldapadd -x -D "cn=ys,dc=bj,dc=name,dc=com" -w 123456 -f /tmp/name.ldif
ldapadd -x -D "cn=ys,dc=bj,dc=name,dc=com" -w 123456 -f /tmp/group.ldif
ldapadd -x -D "cn=ys,dc=bj,dc=name,dc=com" -w 123456 -f /tmp/user.ldif
-x爲簡單認證,-D爲指定身份,-w輸入管理員密碼,-f指定ldif文件的位置服務器

查看檢查:

netstat -tunpl | grep slapd
ldapsearch -x -w 123456 -h 127.0.0.1 -D "cn=ys,dc=bj,dc=name,dc=com" -b "ou=People,dc=bj,dc=name,dc=com"架構

客戶端加入ldap服務器進行驗證:

命令方式:authconfig-tui
用戶修改本身的密碼:
ldappasswd -xD "uid=ldap1,ou=People,dc=bj,dc=name,dc=com" -WS
若是沒有S會建立一個新的密碼app

使用網頁管理ldap:

yum install httpd php php-ldap
解壓tar xvzf phpldapadmin-1.2.0.4.tgz
mv phpldapadmin-1.2.0.4 /var/www/html/ldap
進入/var/www/html/ldap/config目錄拷貝配置文件:
cp config.php.example config.php
訪問:http://localhost/ldap
用戶名:cn=ys,dc=bj,dc=name,dc=com
或:
rpm -ivh ldap-account-manager-2.6.0-0.fedora.1.noarch.rpm
進入/var/www/html/lam/config目錄拷貝配置文件:
cp config.cfg_sample config.cfg
cp lam.conf_sample ldapserver1.conf
cp lam.conf_sample ldapsuser1.conf
chown -R apache.apache *
編輯ldapserver1.conf和ldapuser1.conf,改寫裏面的用戶名和DC測試

httpd經過ldap驗證:

yum install mod_authz_ldap
編輯/etc/httpd/conf.d/authz_ldap.conf配置文件:
將如下內容設置在IfModule裏:
<Directory "/var/www/html/">
AuthzLDAPMethod ldap
AuthzLDAPServer 192.168.0.17
AuthzLDAPUserBase ou=People,dc=bj,dc=name,dc=com
AuthzLDAPUserKey uid
AuthzLDAPUserScope base
AuthType basic
AuthName "ldap@example.com"
require valid-user
</Directory>
重啓apache服務ui

相關文章
相關標籤/搜索