一、openldap安裝
1.yum進行安裝
yum install openldap openldap-services openldap-services-sql openldap-clients
2.拷貝db檔案至ldap資料來源所在目錄
cp /usr/share/openldap-services/db_config.example /var/lib/ldap
3.修改檔案所屬組和使用者
chown ldap.ldap -r /etc/openldap/slapd.d
chown ldap.ldap -r /var/lib/ldap
4.啟動
方法一:
systemctl start slapd
方法二:
slapd -f /etc/openldap/slapd.d -h 『ldap:/// ldapi:/// ldaps:///』 -u ldap -g ldap -d 256
二、openldap的配置檔案
1.安裝openldap會有預設的配置在 /etc/openldap/slapd.d 是已經配好的。很難知道他是怎麼配置的。但是不用擔心 ,在/usr/share/openldap-services/有個sldap.ldif檔案就是該預設配置的方法
2.自定義配置檔案
vim /etc/openldap/slapd.conf
引入模型
include /etc/openldap/core.schema
引入其他配置檔案
include /etc/openldap/access.conf
載入其他模組
moduleload back_ldap.la
程序id檔案
piddile /etc/openldap/slapd.pid
啟動引數檔案
argsfile /etc/openldap/slapd.argsfile
對dn做訪問限制
access to dn='dc=test,dc=com'
by * none (任何人不可訪問)
by * read (所有人可檢視)
by * write (所有人可寫)
by cn=admin,dc=test,dc=com read(指定某個人)
對屬性做訪問限制
access to attr=mail
by * none (任何人不可訪問)
by * read (所有人可檢視)
by * write (所有人可寫)
by cn=admin,dc=test,dc=com read(指定某個人)
對過濾條件做訪問限制
access to filter="(objectclass=user)"
by * none (任何人不可訪問)
by * read (所有人可檢視)
by * write (所有人可寫)
by cn=admin,dc=test,dc=com read(指定某個人)
預設資料來源配置
database hdb
suffix "dc=test,dc=com"
rootdn "cn=admin,dc=test,dc=com"
rootpw secret
directory /var/lib/ldap
ad**
前提必須引入模組 back-ldap.la
database ldap
suffix 'dc=ad,dc=com'
uri "ldap:"
idassert-bind bindmethod=****** binddn='cn=admin,dc=ad,dc=com' credentials='secret' mode=self
三、ldif詳解
1.ldif檔案規範
1)ldif檔案每行的結尾不允許有空格或者製表符
2)ldif檔案允許相關屬性可以重複賦值並使用
3)ldif檔案必須以.ldif結尾
4)ldif檔案中以#開頭的為注釋,可作為注釋使用
5)ldif檔案所有的賦值方式為: 屬性:[空格]屬性值
6)ldif檔案通過空行來分隔不同條目,空行前是乙個條目,空行後是乙個條目
2.ldif語法格式
dn: 條目名 唯一
objectclass(物件類): 屬性值
ldap屬性名: 屬性值
四、ldap增、刪、改、查操作
1.操作配置檔案
1)查詢
ldapsearch -y external -h ldapi:/// -b 『dc=test,dc=com』
2)刪除
ldapdelete -y external -h ldapi:/// 『dc=test,dc=com』
3)新增
ldapadd -y external -h ldapi:/// -f add_entry.ldif
4)修改
ldapmodify -y external -h ldapi:/// -f modify_entry.ldif
2.運算元據
1)查詢
ldapsearch -x -w 『secret』 -d 『cn=admin,dc=test,dc=com』 -b 『ou=users,dc=test,dc=com』 -h ldap:
2)刪除
ldapdelete -x -w 『secret』 -d 『cn=admin,dc=test,dc=com』 『ou=users,dc=test,dc=com』 -h ldap:
3)新增
ldapadd -x -w 『secret』 -d 『cn=admin,dc=test,dc=com』 -h ldap: -f add_entry.ldif
4)修改
ldapmodify -x -w 『secret』 -d 『cn=admin,dc=test,dc=com』 -h ldap: -f add_entry.ldif
3.新增條目示例
cat > add_base.ldif << eof
dn: dc=test,dc=com
o: test
dc: test
objectclass: top
objectclass: dcobject
objectclass: organization
dn: ou=users,dc=test,dc=com
ou: users
objectclass: top
obejctclass: organizationalunit
eofldapadd -x -w 『secret』 -d 『cn=admin,dc=test,dc=com』 -h ldap: -f add_base.ldif
4.ldap物件類說明
物件類分為: 抽象類、結構類、輔助類
每個條目必須擁有乙個抽象類(top)和乙個結構類
5.modify詳解
modify是支援細粒度的增刪改操作
1)首先我們新增乙個使用者
cat > user.ldif << eof
dn: cn=name,ou=users,dc=test,dc=com
objectclass: top
objectclass: user
cn: name
cnname: name
mail: [email protected]
userpassword: secret
eofldapadd -x -w 『secret』 -d 『cn=admin,dc=test,dc=com』 -h ldap: -f auser.ldif
2)刪除屬性
cat > delete_mail.ldif >> eof
dn: cn=name,ou=users,dc=test,dc=com
changetype: modify
delete: mail
eofldapmodify -x -w 『secret』 -d 『cn=admin,dc=test,dc=com』 -h ldap: -f delete_mail.ldif
3)修改屬性
cat > update_name.ldif >> eof
dn: cn=name,ou=users,dc=test,dc=com
changetype: modify
replace: cn
cn: newname
eofldapmodify -x -w 『secret』 -d 『cn=admin,dc=test,dc=com』 -h ldap: -f update_name.ldif
3)新增屬性
cat > add_mail.ldif >> eof
dn: cn=name,ou=users,dc=test,dc=com
changetype: modify
add: mail
mail: [email protected]
eofldapmodify -x -w 『secret』 -d 『cn=admin,dc=test,dc=com』 -h ldap: -f add_mail.ldif
菜鳥入門Java
定義名為number的類,其中有兩個整型資料成員n1和n2,應宣告為私有。編寫構造方法,賦予n1和n2初始值,再為該類定義加 addition 減 subtration 乘 multiplication 除 division 等公有成員方法,分別對兩個成員變數執行加 減 乘 除的運算。在main方法...
centos Swoole 菜鳥入門
安裝配置位址 build complete.don t forget to run make test installing shared extensions usr lib64 php modules 安裝成功後的installing shared extensions 後邊的位址 usr li...
Django菜鳥入門
ps d python m pip install upgrade pip 公升級pip ps d pip install django 2.2 最好用pip來裝django框架 c python37 lib site packages django c python37 scripts 新增環境變...