linux下ldap部署详解

1.ldap服务器安装

[[email protected] ldap]# vim /etc/hosts  #本地解析域名

1.1.1.13    willow.com

安装LDAP相关软件:openldap、openldap-servers、openldap-clients

[[email protected] ~]# yum install -y openldap*

[[email protected] ~]# cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf

设置ldap管理员密码

[[email protected] ~]# slappasswd -s willow

{SSHA}FD+4xgrSYsZA4jcgMjAtrDzt74J2Xy0S

[[email protected] openldap]# vim /etc/openldap/slapd.conf

rootpw    {SSHA}E6MCxlhotF+ExXnQZK4zqbZNihHb83IL

修改主配置文件如下:

[[email protected] openldap]# vim /etc/openldap/slapd.conf

database        bdb

suffix          "dc=willow,dc=com"

rootdn          "cn=admin,dc=willow,dc=com"

启用日志功能

[[email protected] openldap]# vim /etc/openldap/slapd.conf

loglevel    296

cachesize   1000

checkpoint 2048 10

[[email protected] openldap]# vim /etc/openldap/slapd.conf

access to *

by self write

by anonymous auth

by * read

配置日志:

[[email protected] openldap]# vim /etc/rsyslog.conf

local4.*                    /var/log/ldap.log

[[email protected] openldap]# service rsyslog restart

配置数据库:

[[email protected] openldap]# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

[[email protected] ldap]# chown ldap.ldap /var/lib/ldap/DB_CONFIG

[[email protected] ldap]# chmod 700 /var/lib/ldap/DB_CONFIG

[[email protected] ldap]# slaptest -u

config file testing succeeded

[[email protected] ldap]# service slapd restart

[[email protected] ldap]# lsof -i :389

[[email protected] ldap]# netstat -tnlp| grep :389

[[email protected] ldap]# ps -ef | grep ldap | grep -v grep

[[email protected] ldap]# chkconfig slapd on

[[email protected] ldap]# ldapsearch -LLL -W -x -H ldap://willow.com -D "cn=admin,dc=willow,dc=com" -b "dc=willow,dc=com" "(uid=*)"

Enter LDAP Password:

ldap_bind: Invalid credentials (49)

[[email protected] ldap]#

[[email protected] ldap]# rm -rf /etc/openldap/slapd.d/*

[[email protected] ldap]# ls /etc/openldap/slapd.d/

[[email protected] ldap]# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/

bdb_monitor_db_open: monitoring disabled; configure monitor database to enable

config file testing succeeded

[[email protected] ldap]# chown -R ldap.ldap /etc/openldap/slapd.d/

[[email protected] ldap]# service slapd restart

[[email protected] ldap]# ldapsearch -LLL -W -x -H ldap://willow.com -D "cn=admin,dc=willow,dc=com" -b "dc=willow,dc=com" "(uid=*)"

Enter LDAP Password:

No such object (32)

[[email protected] ldap]# useradd ldapuser1

[[email protected] ldap]# useradd ldapuser2

[[email protected] ldap]# useradd ldapuser3

[[email protected] ldap]# echo redhat | passwd --stdin ldapuser1

[[email protected] ldap]# echo redhat | passwd --stdin ldapuser2

[[email protected] ldap]# echo redhat | passwd --stdin ldapuser3

配置数据库ldif格式文件

[[email protected] ldap]# yum install -y  migrationtools

[[email protected] ldap]# grep ldapuser /etc/passwd > user.txt

[[email protected] ldap]# grep ldapuser /etc/group > group.txt

[[email protected] ldap]# vim /usr/share/migrationtools/migrate_common.ph

# Default DNS domain

$DEFAULT_MAIL_DOMAIN = "willow.com";

# Default base

$DEFAULT_BASE = "dc=willow,dc=com";

[[email protected] ldap]# /usr/share/migrationtools/migrate_base.pl > base.ldif

[[email protected] ldap]# vim base.ldif #只保留以下内容

dn: dc=willow,dc=com

dc: willow

objectClass: top

objectClass: domain

dn: ou=People,dc=willow,dc=com

ou: People

objectClass: top

objectClass: organizationalUnit

dn: ou=Group,dc=willow,dc=com

ou: Group

objectClass: top

objectClass: organizationalUnit

[[email protected] ldap]# /usr/share/migrationtools/migrate_passwd.pl user.txt user.ldif

[[email protected] ldap]# /usr/share/migrationtools/migrate_group.pl group.txt group.ldif

导入数据库ldif格式文件

[[email protected] ldap]# ldapadd -x -w willow -H ldap://willow.com -D "cn=admin,dc=willow,dc=com" -f base.ldif

adding new entry "dc=willow,dc=com"

adding new entry "ou=People,dc=willow,dc=com"

adding new entry "ou=Group,dc=willow,dc=com"

[[email protected] ldap]# ldapadd -x -w willow -H ldap://willow.com -D "cn=admin,dc=willow,dc=com" -f user.ldif

adding new entry "uid=ldapuser1,ou=People,dc=willow,dc=com"

adding new entry "uid=ldapuser2,ou=People,dc=willow,dc=com"

adding new entry "uid=ldapuser3,ou=People,dc=willow,dc=com"

[[email protected] ldap]# ldapadd -x -w willow -H ldap://willow.com -D "cn=admin,dc=willow,dc=com" -f group.ldif

adding new entry "cn=ldapuser1,ou=Group,dc=willow,dc=com"

adding new entry "cn=ldapuser2,ou=Group,dc=willow,dc=com"

adding new entry "cn=ldapuser3,ou=Group,dc=willow,dc=com"

2.ldap服务器Web

管理配置Web管理接口:利用软件 ldap-account-manager-3.7

[[email protected] ldap]# yum install httpd php php-ldap php-gd

[[email protected] ldap]# cd /var/www/html/

[[email protected] html]# tar xvf /root/ldap-account-manager-3.7.tar.gz

[[email protected] html]# mv ldap-account-manager-3.7 ldap

[[email protected] html]# cd /var/www/html/ldap/config/

[[email protected] config]# cp config.cfg_sample config.cfg

[[email protected] config]# cp lam.conf_sample lam.conf

[[email protected] config]# sed -i ‘[email protected][email protected][email protected]‘ lam.conf

[[email protected] config]# sed -i ‘[email protected][email protected][email protected]‘ lam.conf

[[email protected] config]# sed -i ‘[email protected][email protected][email protected]‘ lam.conf

[[email protected] config]# sed -i ‘[email protected][email protected][email protected]‘ lam.conf

[[email protected] config]# chown -R apache.apache /var/www/html/ldap

[[email protected] config]# service httpd restart

通过客户端http://1.1.1.13/ldap  登入

点击右上角 LAM configuration --> Edit general settings -->默认密码lam

-->设置访问权限主机和修改密码

返回首页,输入admin帐号的密码willow登入管理页面,

3.ldap服务器sasl认证

[[email protected] config]# yum install -y *sasl*

查看认证机制或列表

saslauthd 2.1.23

[[email protected] config]# saslauthd -v

authentication mechanisms: getpwen:qt kerberos5 pam rimap shadow ldap

启用本地shadow认证

[[email protected] config]# vim /etc/sysconfig/saslauthd

MECH=shadow

[[email protected] config]# service saslauthd start

[[email protected] config]# testsaslauthd -u willow -p redhat  #本地帐号测试成功

0: OK "Success."

[[email protected] config]# testsaslauthd -u ldaptest -p redhat #ldap帐号测试失败

0: NO "authentication failed

启用本地ldap认证

[[email protected] config]# vim /etc/sysconfig/saslauthd

MECH=ldap

[[email protected] config]# service saslauthd restart

[[email protected] config]# testsaslauthd -u willow -p redhat #本地帐号测试失败

0: NO "authentication failed"

[[email protected] config]# testsaslauthd -u ldaptest -p redhat #ldap帐号测试失败

0: NO "authentication failed"

配置指向ldap服务器文件认证文件

[[email protected] config]# vim /etc/saslauthd.conf

ldap_servers: ldap://willow.com/

ldap_bind_dn: cn=admin,dc=willow,dc=com

ldap_bind_pw: willow

ldap_search_base: ou=People,dc=willow,dc=com

ldap_filter: uid=%U

ldap_password_attr: userPassword

[[email protected] config]# testsaslauthd -u willow -p redhat #本地帐号测试失败

0: NO "authentication failed"

[[email protected] config]# testsaslauthd -u ldaptest -p 123456 #ldap帐号测试成功

0: OK "Success."

时间: 2024-10-13 00:20:43

linux下ldap部署详解的相关文章

(转)Linux下PS命令详解

(转)Linux下PS命令详解 整理自:http://blog.chinaunix.net/space.php?uid=20564848&do=blog&id=74654 要对系统中进程进行监测控制,查看状态,内存,CPU的使用情况,使用命令:/bin/ps (1) ps :是显示瞬间进程的状态,并不动态连续: (2) top:如果想对进程运行时间监控,应该用 top 命令: (3) kill 用于杀死进程或者给进程发送信号: (4) 查看文章最后的man手册,可以查看ps的每项输出的含义

Linux下chkconfig命令详解

Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset] chkconfig在没有参数运行时,显示用法.如果加上服务名,那么就检查这个服务是否在当前运行级启动.如果是,返

转载的 Linux下chkconfig命令详解

Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法: chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset] chkconfig 在没有参数运行时,显示用法.如果加上服务名,那么就检查这个服务是否在当前运行级启动.如果是

linux下scp命令详解

scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令.linux的scp命令可以在linux服务器之间复制文件和目录. scp命令的用处: scp在网络上不同的主机之间复制文件,它使用ssh安全协议传输数据,具有和ssh一样的验证机制,从而安全的远程拷贝文件. scp命令基本格式: scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o s

&lt;linux下sysctl指令详解&gt;

Sysctl指令是对系统核心参数的设置: 用法: -a 参数列出系统中所有核心设置 当然了这些核心的设置都是文件,存放于/proc/sys/net目录下. 举个有代表性的例子: net.ipv4.icmp_echo_ignore_all = 0      把所有的点改为 / 就可以了.   [[email protected] net]# net.ipv4.icmp_echo_ignore_all = 0 [[email protected] net]# cd ipv4/ [[email pro

linux 下跟文件系统详解

什么是根文件系统 根文件系统首先是一种文件系统,但是相对于普通的文件系统,它的特殊之处在于,它是内核启动时所mount的第一个文件系统,内核代码映像文件保存在根文件系统中,而系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行. 我们首先从主机上所安装的Linux操作系统中了解一些根文件系统的信息.比如在笔者工作的Linux桌面系统中可以得到下面的结果: # mount /dev/hda2 on / type ext3 (rw) none on /proc

Linux下ps命令详解 Linux下ps命令的详细使用方法

Linux下ps命令详解 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)ps工具标识进程的5种状态码:D 不可中断 uninterruptible sleep (usuall

linux下alias命令详解

linux下alias命令详解 用途说明 设置命令的别名.在linux系统中如果命令太长又不符合用户的习惯,那么我们可以为它指定一个别名.虽然可以为命令建立"链接" 解决长文件名的问题,但对于带命令行参数的命令,链接就无能为力了.而指定别名则可以解决此类所有问题[1].常用别名来简化 ssh登录[见示例三],使长命令变短,使常用的长命令行变短,强制执行命令时询问等. 功能说明 :设置指令的别名. 语 法:alias[别名]=[指令名称] 参 数 : 若不加任何参数,则列出目前所有的别名

linux下IPTABLES配置详解 (防火墙命令)

linux下IPTABLES配置详解 -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 24000 -j ACCEPT-A RH-Firewall-1-INPUT -s 121.10.120.24 -p tcp -m tcp --dport 18612 -j ACCEPT 如果你的IPTABLES基础知识还不了解,建议先去看看. 开始配置 我们来配置一个filter表的防火墙. (1)查看本机关于IPTABLES的