centos配置安装LDAP基础知识

LDAP 伺服端基本说明 389--Centos5

OPENLDAP 相关程式

slapd:openLDAP 的 daemon

slurpd:多个 LDAP 伺服器进行?写时所用的程式

相关档案及目录

/etc/openldap:openldap 的主要目录

/etc/openldap/slapd.conf:伺服器设定档

/etc/openldap/cacerts:为一目录,存放凭证相关资料

/etc/openldap/DB_CONFIG.example:资料库设定档范例

/etc/openldap/schema:为一目录,存放纲要资料,支援哪种资料类型

/var/lib/ldap:资料库的存放路径

/etc/openldap/ldap.conf:用户端设定档

 

LDAP目录结构组成

•DN(Distinguished Name):识别名称,一条记录的位置

•RDN(Relative Distinguished Name):相对识别名称,(指的就是cn及cn的值 ex.cn=weithenn,独一无二的属性)

•CN(Common Name) /uid:显示名称,一条记录的名字/ID

•OU(Organizational Unit):组织,一条记录所属组织

•DC(Domain Componet):网域元件,一条记录所属区域

包含 cn 的 dn 记录:dn:cn=username,ou=group,dc=kh,dc=edu,dc=tw
 
LDAP伺服器设定

1.安装 openldap-servers

yum -y install openldap openldap-devel openldap-servers

2.建立 LDAP 密码

slappasswd
New password:
Re-enter new password:
{SSHA}dKmbTeq19LgSL9tLKEiv7nyrkCJhaa83

设定密码
slappasswd -h {MD5}

3.设定slap.conf以下三个部份

vi /etc/openldap/slap.conf

先将预设的设定值加上#,把以下的规格全部放进来比较方便。
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/redhat/autofs.schema
include /etc/openldap/schema/misc.schema
include /etc/openldap/schema/openldap.schema
include /etc/openldap/schema/phpgwaccount.schema
include /etc/openldap/schema/phpgwcontact.schema
include /etc/openldap/schema/samba.schema
.
.
database ldbm
.
suffix          "dc=server,dc=kh,dc=edu,dc=tw"
rootdn          "cn=Manager,dc=domain,dc=kh,dc=edu, dc=tw"一般 cn 值是 Manager
rootpw        {SSHA}dKmbTeq19LgSL9tLKEiv7nyrkCJhaa83 可为明码或加密码

4.透过档案传输(FTP)的方式,将原有的schema格式放到/etc/openldap/schema/

 

5.若要导入原有的domain.ldif 档案,记得检查是否关掉ldap,并且清空原先资料库档案

service slapd stop

rm -rf /var/lib/ldap/*

6.准备好后,导入之前的备份资料档案

slapadd -l 来源

slapadd -l /etc/openldap/domain.ldif

.导入后,记得修改资料库目录权限

chown -R ldap:ldap /var/lib/ldap/*

启动 LDAP 服务

service slapd start

用原domain.ldif内的使用者登入测试看看吧!
 
备份LDAP伺服器档案

1.可用于定期备份的执行档内

vi /root/back.sh

slapcat -b "dc=server,dc=kh,dc=edu,dc=tw" -l 存放位置

slapcat -b "dc=server,dc=kh,dc=edu,dc=tw" -l /tmp/domain.ldif 范例

存档后,可立即执行

chmod 755 back.sh

./back.sh

2.或直接执行

slapcat -b "dc=server,dc=kh,dc=edu,dc=tw" -l /tmp/domain.ldif

 
 
LDAP 用户端设定(Centos 6.2)
本文件参考Server World - ネットワ?クサ?バ?构筑

•http://www.server-world.info/
•http://www.server-world.info/en/note?os=CentOS_6&p=ldap&f=2
1.安装相关套件

yum -y install openldap openldap-clients nss-pam-ldapd

2.设定 LDAP 服务

setup

 

 

伺服器:ldap://IP 或 ldap://主机名称

ldap://ldap.do.kh.edu.tw

基底DN:dc=do,dc=kh,dc=edu,dc=tw

 

另外一法:可用修改设定档

vi /etc/openldap/ldap.conf

URI ldap://ldap.do.kh.edu.tw
BASE dc=do,dc=kh,dc=edu,dc=tw
 

接下来,编辑以下四个档案。

vi /etc/openldap/ldap.conf

# add at the last line
# LDAP server's URI
URI ldap://ldap.do.kh.edu.tw/

# specify Suffix
BASE dc=do,dc=kh,dc=edu,dc=tw
TLS_CACERTDIR /etc/openldap/cacerts 

 vi /etc/nslcd.conf

# line 131: specify URI, Suffix
uri ldap://163.32.X.X/
base dc=kh,dc=edu,dc=tw
ssl no
tls_cacertdir /etc/openldap/cacerts

 vi /etc/pam_ldap.conf

# line 17: make it comment
# host 127.0.0.1

# line 20: specify Suffix
base dc=do,dc=kh,dc=edu,dc=tw

# add at the last line
uri ldap://ldap.do.kh.edu.tw/
ssl no
tls_cacertdir /etc/openldap/cacerts
pam_password md5

 vi /etc/pam.d/system-auth(自行找到以下四列,再去修改)

auth        sufficient    pam_ldap.so use_first_pass
account     [default=bad success=ok user_unknown=ignore] pam_ldap.so
password   sufficient    pam_ldap.so use_authtok
session     optional      pam_ldap.so
# add if you need ( create home directory automatically if it's none )
session     optional      pam_mkhomedir.so skel=/etc/skel umask=077

 vi /etc/nsswitch.conf

passwd: files ldap # line 33: add
shadow: files ldap # add
group: files ldap # add
netgroup: ldap # line 57: change
automount: files ldap # line 61: change

vi /etc/sysconfig/authconfig

USELDAP= yes # line 18: change

设定开机启用

chkconfig nslcd on
shutdown -r now

3.用户端无法立即重新启动,必须重新开机。

4.重新开机后,在Client端本机,用其他帐号登入测试看看!会出现没有家目录,是正常的,除非有安装nfs,或自动建立本机的目录。

 
 
LDAP 用户端,启用SSHD + VSFTPD
之前已经完成LDAP Client端的设定与启用。

接下来,我们再来将  VSFTPD 及 SSHD 也启用服务吧!

VSFTPD(启用FTP功能,好用!)

cp /etc/pam.d/vsftpd  /etc/pam.d/vsftpd.bk

vi /etc/pam.d/vsftpd

auth       include      system-auth
account    required     pam_nologin.so
account    include      system-auth
password   include      system-auth
session    optional     pam_keyinit.so force revoke
session    include      system-auth
session    required     pam_loginuid.so

SSHD(其实,这个功能可以不用启用,没事开给使用者,没什麽作用...)

cp /etc/pam.d/sshd /etc/pam.d/sshd.bk

vi  /etc/pam.d/sshd

auth       include      system-auth
account    required     pam_nologin.so
account    include      system-auth
password   include      system-auth
session    optional     pam_keyinit.so force revoke
session    include      system-auth
session    required     pam_loginuid.so

 
LDAP 用户端,结合openwebmail
设定整合之前,先确认perl-Authen-PAM有无安装

yum -y install perl-Authen-PAM
 

1.修改openwebmail的设定档,使用pam认证

vi /var/www/cgi-bin/openwebmail/etc/openwebmail.conf

auth_module auth_unix.pl 修改为 auth_module auth_pam.pl

另外再新增一行,这样让使用者登入时可以自动建立相关的目录与档案
create_syshomedir yes

2.在auth_pam.pl内参数,将login修改为 openwebmail
vi /var/www/cgi-bin/openwebmail/auth/auth_pam.pl

my $servicename = $conf{'servicename'} || "openwebmail";

3.??auth_pam.conf到主要位置

cp /var/www/cgi-bin/openwebmail/etc/defaults/auth_pam.conf /var/www/cgi-bin/openwebmail/etc/auth_pam.conf

4.修改auth_pam.conf内参数,servicename为openwebmail

vi /var/www/cgi-bin/openwebmail/etc/auth_pam.conf

servicename             openwebmail
passwdfile_plaintext    /etc/passwd
check_nologin           no
check_shell             no
check_cobaltuser        no

4.在/etc/pam.d/内新增openwebmail

vi /etc/pam.d/openwebmail

auth include system-auth
account include system-auth
password include system-auth
session include system-auth

5.(可以不用修改,测试用)修改auth_ldap.conf

vi /var/www/cgi-bin/openwebmail/etc/defaults/auth_ldap.conf

ldaphost 192.168.0.1 # LDAP SERVER IP
ou user # LDAP ORGANIZATIONAL UNIT
cn Manager # LDAP USER
dc1 domain
dc2 kh
dc3 edu
dc4 tw
password secret

另外,不要乱改,因为系统启动时尚未启用ldap服务,所以先做原先的认证即可。我修改顺序后,导致开机异常。

vi /etc/nsswitch.conf

passwd:     files ldap shadow:     files ldap group:      files ldap 

5.重新启动openwebmail

/var/www/cgi-bin/openwebmail/openwebmail-tool.pl --init

 
 
openwebmail与LDAP问题:无法更改密码
问题描述
全部正常后,发现无法在openwebmail内修改个人档案,出现讯息change password error auth_pam.pl, ret -4, pam_authtok() err 6, Permission denied 。

 

在ldap伺服器中加入以下权限参数

vi /etc/openldap/slapd.conf

#使用者密码只能由自己变更, 对于?棵?褂谜咧幌抻糜诿苈胙橹? 其馀禁止取用

access to attrs=userPassword

by self write

by users read

by anonymous auth

#以上没有规范到的部份, 都授予读取权限

access to * by * read
 
次要LDAP
Step1.停止 「主要LDAP」

service slapd stop

Step2.修改 「主要LDAP」 slapd.conf 内容

vi /etc/openldap/slapd.conf

replogfile /var/lib/ldap/slapd.replog //指定 slurpd 更新档路径
replica host=server.kh.edu.tw:389 // Slaver LDAP 主机
suffix="dc=server,dc=kh,dc=edu,dc=tw" //更新的 DN
binddn="uid=admin2,cn=Manager,dc=shsps,dc=kh,dc=edu,dc=tw" // Slaver LDAP RootDN
bindmethod=simple //认证方式
credentials=123456 //Manager2的密码(注意须为明码)
tls=yes //开启 TLS 支援

Step3. 将 「主要LDAP」 BDB Copy To Slaver LDAP

方法一:直接??

在?? Master LDAP BDB 之前记得执行 db_checkpoint 已确保所有资料已写入 BDB 资料库中,本次我的实作为直接把 BDB 资料库??到 Slaver LDAP 的 BDB 资料库路径。

先确保资料写入资料库中
db_checkpoint-4.3 -1 -h /var/db/openldap-data/
scp /var/lib/ldap/* root@wwww.shsps.kh.edu.tw:/var/lib/ldap/

方法二:按照步骤来

汇出「主要LDAP」资料库资料

slapcat -b "dc=server,dc=kh,dc=edu,dc=tw" -l /tmp/contents.ldif

??资料到「次要LDAP」

scp /tmp/contents.ldif root@server.kh.edu.tw:/tmp/contents.ldif

汇入资料到「次要LDAP」

slapadd -l /tmp/contents.ldif

修该资料库拥有者

chown ldap.ldap /var/lib/ldap/*.*

Step4. 修改 Slaver LDAP slapd.conf 内容

vi /etc/openldap/slapd.conf

rootdn "uid=donlboy,cn=Manager,dc=domain,dc=kh,dc=edu,dc=tw" //Slaver LDAP RootDN
rootpw {MD5}FkyWuaT5c+FdMK43DGG6GA== //( MD5加密)
updatedn "uid=admin2,cn=Manager,dc=domain,dc=kh,dc=edu,dc=tw" //Master LDAP slurpd ??
updateref ldap:// www.111cn.net //更新要求送给 Master LDAP

Step5. 先启动 Slaver LDAP slapd daemon

service slapd start

Step6.后启动 Master LDAP slapd daemon

service slapd start

测试验证是否成功

ldapsearch -x -b "cn=Manager,dc=domain,dc=kh,dc=edu,dc=tw" uid=*

时间: 2024-09-12 18:17:24

centos配置安装LDAP基础知识的相关文章

Redis基本知识、安装、部署、配置笔记_基础知识

基本知识 1.Redis的数据类型: 字符串.列表(lists).集合(sets).有序集合(sorts sets).哈希表(hashs) 2.Redis和memcache相比的独特之处: (1)redis可以用来做存储(storge).而memcache是来做缓存(cache).这个特点主要是因为其有"持久化"功能 (2)存储的数据有"结构",对于memcache来说,存储的数据,只有一种类型--"字符串",而redis则可以存储字符串.链表.

Centos配置安装vsftp服务器

安装vsftp服务器 我先用rpm -q vsftpd命令查看是否有安装这个服务, 有安装的会显示vsftp版本, 没有安装的会提示"package vsftpd is not installed " .这时用命令"yum -y install vsftpd"进行安装,过程如图: 进入/etc/vsftpd目录可看到主要的vsftpd配置文件: /etc/vsftpd/vsftpd.conf   //主配置文件 /etc/vsftpd/ftpusers      /

centos上安装配置java WEB环境_java

趁着十一期间,好好的写写随笔来记录自己所学.所践和所得,不足之处,欢迎各位拍砖~~~ 工具:Xftp 5.Xshell 5 一.安装jdk 1. 使用Xftp 5把jdk-8u65-linux-x64.tar.gz上传到centos服务器上.   2. 使用语句 tar -zxvf jdk-8u65-linux-x64.tar.gz -C 目的地址(如/usr/java/)   3. 使用语句 vim /etc/profile,添加以下语句     - export JAVA_HOME=/usr

路由基础知识:PIM的相关配置

PIM是Protocol Independent Multicast(协议无关组播)的简称,表示可以利用静态路由或者任意单播路由协议(包括RIP.OSPF.IS-IS.BGP等)所生成的单播路由表为IP组播提供路由.组播路由与所采用的单播路由协议无关,只要能够通过单播路由协议产生相应的组播路由表项即可. 要把路由器配置为HSRP备份组的成员,可以在接口配置模式下使用下面的命令: router(config-if)# standby group-number ip ip-address 为了使一个

CentOS下安装配置Tomcat环境

  CentOS下安装配置Tomcat 演示环境 系统:Linux CentOS 6.3 32位 环境:无安装apache.php.mysql 账号:Root 一.下载相关安装包 注:可以先进入 #cd /usr/local/ /进里面后再下载(也可以根据自己情况而定) 1.下载jdk 2.下载Tomcat 二.安装JDK和Tomcat 注:可以先进入 #cd /usr/local/ /再执行下面的命令 1.编译安装Jdk #chmod 777 jdk-6u41-linux-i586-rpm.b

centos win7双系统安装,在win7已经安装的基础上

Fat32 分区格式 linux,windows都能识别,但是他只支持单个文件小于4g的文件,由于我安装的centos7大于4g,而且linux不识别windows的ntfs格式的分区,所以我选择了linux识别的ext3的分区格式,但是在windows上不识别,所以只能ext2Fsd软件,让windows识别,注意(如果安装文件小于4g,不需要再安装ext2Fsd这个文件,只为让windows识别). 我已经安装了windows,想安装centos7 ,win7双系统. 使用到的软件:easy

Centos/linux安装vmware-tools工具报错解决、yum配置

1.vmware tools"就等于装虚拟机的显卡驱动,如果不装"vmware tools",则虚拟机的分辨率会很低且无法正常显示或工作. 2.tools可是将主机的驱动都复制到虚拟机,比如你设置的默认使用主机声卡驱动,cpu,显卡,都有,主机我的电脑-右键-设备管理器,里面的驱动都可以安装到虚拟机里 3.还有就是可是设置虚拟机与主机共享文件夹,host\打头的      linux vmware-tools 主要作用说白了就是:实现linux到XP界面 鼠标的自由切换(不用

CentOS 7安装配置Apache HTTP Server

原文 CentOS 7安装配置Apache HTTP Server   RPM安装httpd # yum -yinstall httpd //安装httpd会自动安装一下依赖包: apr apr-util httpd-tools mailcap # rpm -qi httpd Name      : httpd Version    : 2.4.6 Release    : 18.el7.centos Architecture: x86_64 Install Date: Mon 11 Aug 2

在CentOS下安装配置MySQL(转)

今天刚把项目做完,需要马上部署到新到的测试服务器上,于是乎,要在服务器上安装环境,由于好久在linux上部署了,手有些生,比较费劲装完,现在把重要步骤贴出,供自己以后参照.1.首先要看看有没有已经安装好的MySQL,以免产生冲突# rpm -qa | grep MySQL2.卸载冲突的版本# rpm -e MySQL-version //要先后卸载客服端和服务器端 3.安装MySQL客服端和服务器端# rpm -ivh MySQL-server-community-5.1.48-1.rhel5.