设为首页 收藏本站
查看: 3609|回复: 0

[经验分享] redhat5.8+apache+ldap(提供软件包)

[复制链接]

尚未签到

发表于 2018-11-23 06:46:56 | 显示全部楼层 |阅读模式
  搭建ldap分别通过web和lam管理,ldap+apache
  LDAP安装:
  # yum install -y openldap openldap-clientsopenldap-servers
  # ls /etc/openldap/
  slapd.conf      主配置文件
  lapd.conf       Client配置文件
  

  看是否已经有定义好的架构,关于描述linux系统用户和系统的组的对象类和属性类
  # cat /etc/openldap/schema/nis.schema
  MUST( cn $ uid $ uidNumber $ gidNumber $ homeDirectory )       #字段值不能为空
  MAY( userPassword $ loginShell $ gecos $ description ) )        #字段值可以为空
  加密rootdn密码
  # slappasswd -h {MD5}
  New password:
  Re-enter new password:
  {MD5}ICy5YqxZB1uWSwcVLSNLcA==
  

  

  # vim /etc/openldap/slapd.conf
  include /etc/openldap/schema/nis.schema     #包含定义好的架构
  allow bind_v2                                          #定义版本,向下兼容
  pidfile /var/run/openldap/slapd.pid             #服务启动后的pid文件
  

  ... ...
  

  database bdb                              #b伯克利 db数据库
  suffix "dc=hn,dc=ny,dc=com"
  rootdn "cn=admin,dc=hn,dc=ny,dc=com"   #管理dn (ldap管理员账号 cn(common name),不要写OU,管理所有的OU)
  # Cleartext passwords, especially for therootdn, should
  # be avoided. See slappasswd(8) andslapd.conf(5) for details.
  # Use of strong authentication encouraged.
  # rootpw secret
  # rootpw {crypt}ijFYNcSNctBYg
  rootpw {MD5}ICy5YqxZB1uWSwcVLSNLcA==      #管理dn密码
  # The database directory MUST exist priorto running slapd AND
  # should only be accessible by the slapdand slap tools.
  # Mode 700 recommended.
  directory /var/lib/ldap          #真正数据库的位置,700权限,所有者及组为ldap
  

  # Indices to maintain for this database         #优化ldap的索引
  index objectClass                                      eq,pres
  index ou,cn,mail,surname,givenname          eq,pres,sub
  index uidNumber,gidNumber,loginShell      eq,pres
  index uid,memberUid                               eq,pres,sub
  index nisMapName,nisMapEntry                eq,pres,sub
  **************************************************
  access toattrs=shadowLastChange,userPassword by self write by * auth
  access to * by * read
  **************************************************
  #access 行定义了谁可以访问目录中的内容。我们希望用户可以修改自己的密码,并更新自己的shadow 信息来反映密码的变化。希望身份验证程序能够检索用户的密码。还希望用户能够读取所有其他条目。注意密码条目是不可读的,shadow 属性的惟一用处就是管理密码的过期问题。
  

  启动LDAP服务
  # ls /etc/openldap/
  cacerts DB_CONFIG.example ldap.conf schemaslapd.conf
  

  # cp /etc/openldap/DB_CONFIG.example/var/lib/ldap/DB_CONFIG
  

  # chown ldap /var/lib/ldap/DB_CONFIG
  

  # service ldap start
  Checking configuration files for slapd:config file testing succeeded [ OK ]
  Starting slapd: [ OK ]
  

  ldap库模板定义生成ldap目录结构的变量/usr/share/openldap/migration/ 中执行迁移。这些Perl 脚本的配置信息包含在migrate_common.ph文件的开头。对于我们的目的来说,只需要修改命名前缀的变量来使用条目的识别名就足够了
  

  [root@localhost migration]# vimmigrate_common.ph
  $DEFAULT_MAIL_DOMAIN = "hn.ny.com";
  $DEFAULT_BASE = "dc=hn,dc=ny,dc=com";
  [root@localhost migration]#./migrate_base.pl > /tmp/uplooking.ldif #perl脚本调用migrate_common.ph生成可以导入ldap的ldif文件
  

  [root@localhost migration]# vim /tmp/ny.ldif
  dn: dc=hn,dc=ny,dc=com
  dc: hn
  objectClass: top
  objectClass: domain
  

  dn: ou=People,dc=hn,dc=ny,dc=com
  ou: People
  objectClass: top
  objectClass: organizationalUnit
  

  dn: ou=Group,dc=hn,dc=ny,dc=com
  ou: Group
  objectClass: top
  objectClass: organizationalUnit
  

  建立测试用户
  [root@localhost ~]# for i in {1..5} ; douseradd ldap$i ; echo "123456" | passwd --stdin ldap$i ; done
  [root@localhost ~]# grep -E ^ldap[1-5]+/etc/passwd > /tmp/users.txt
  [root@localhost ~]# grep -E ^ldap[1-5]+/etc/group > /tmp/groups.txt 生成用户和组ldif文件
  [root@localhost ~]# cd/usr/share/openldap/migration/
  [root@localhost migration]#./migrate_passwd.pl /tmp/users.txt > /tmp/users.ldif
  [root@localhost migration]#./migrate_group.pl /tmp/groups.txt > /tmp/groups.ldif
  

  [root@localhost migration]# ldapadd -x -D"cn=admin,dc=hn,dc=ny,dc=com" -w 123456 -f ny.ldif
  [root@localhost migration]# ldapadd -x -D"cn=admin,dc=hn,dc=ny,dc=com" -w 123456 -f groups.ldif
  [root@localhost migration]# ldapadd -x -D"cn=admin,dc=hn,dc=ny,dc=com" -w 123456 -f users.ldif
  

  注:ny.ldif必须最先导入。
   -x 简单验证
   -D 指定身份
   -W 提示输入口令
  

  [root@localhost migration]# netstat -tunpl| grep slapd
  tcp 0 0    0.0.0.0:389   0.0.0.0:*        LISTEN 17873/slapd
  tcp 0 0    :::389           :::*         LISTEN 17873/slapd
  

  在服务器上使用ldapsearch命令查询ldap数据库中的信息,检查ldif文件是否已经导入成功:
  [root@localhost ~]# ldapsearch -x -w 123456-h 127.0.0.1 -D "cn=admin,dc=hn,dc=ny,dc=com" -b "dc=hn,dc=ny,dc=com"
  

  

  #system-config-authentication
DSC0000.jpg

  

  更改密码
  如何改变自己的密码  ldappasswd 使用你自己的DN
  # ldappasswd -xD "uid=ldap1,ou=People,dc=hn,dc=ny,dc=com"-WS      #如果没有指定-S,会创建一个新的密码
  ldapwhoami测试登录
  # ldapwhoami -xD "uid=ldap1,ou=People,dc=hn,dc=ny,dc=com"–W
  

  WEB管理LDAP
  # yum install httpd phpphp-ldap
  # vim /etc/httpd/conf.d/php.conf
  # tar zxvfphpldapadmin-1.2.0.4.tgz
  # mv phpldapadmin-1.2.0.4/var/www/html/ldap
  # service httpd start
  # firefox http://localhost/ldap
  

DSC0001.jpg

  

  LAM
  # yum install httpd phpphp-ldap
  # rpm -ivh ldap-account-manager-2.6.0-0.fedora.1.noarch.rpm
  全局配置文件:(语言)
  # cd/var/www/html/lam/config
  [root@localhostconfig]# cp config.cfg_sample config.cfg
  对应服务器配置文件:
  [root@localhostconfig]# cp lam.conf_sample ldapserver1.conf
  [root@localhostconfig]# vim ldapserver.conf
  admins: cn=admin,dc=hn,dc=ny,dc=com
  passwd:{MD5}4QrcOUm6Wau+VuBX8g+IPg==
  treesuffix: dc=hn,dc=ny,dc=com
  注意:
  vim ldapuser1.conf 将全部my-domain替换ny.
  [root@localhostconfig]# chown -R apache.apache *
  # firefox http://localhost/lam
  

DSC0002.jpg

  

  

  Apache+ldap
  

  1.配置apache验证功能。验证页面如何连接ldap来验证
  2.让ldap存apache相关帐号,apache通过一个自有模块来支持连接ldap(mod_authz_ldap)
  [root@localhost ~]# yuminstall mod_authz_ldap
  

  # vim/etc/httpd/conf.d/authz_ldap.conf
  LoadModuleauthz_ldap_module modules/mod_authz_ldap.so
  
             #设置在IfModule里面,如果模块生效,执行下面
  AuthzLDAPMethod ldap
  AuthzLDAPServer 192.168.0.116
  AuthzLDAPUserBase ou=People,dc=hn,dc=ny,dc=com
  AuthzLDAPUserKey uid
  AuthzLDAPUserScope base
  AuthType basic
  AuthName "ldap test"
  require valid-user
  
  
  # service httpd restart
  

  测试:
  客户端访问web server,提示需要身份验证,输入ldap服务器的帐号密码,验证通过后可以看到web内容
  例如账号:ldap1  密码:上面自己设置的
DSC0003.jpg

  

  可以到 百度云盘下载 账号 pankuo1@sina.cn密码pk492940446

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-638371-1-1.html 上篇帖子: Apache Multipath Processing Module 下篇帖子: win7(32/64)+php5.5+apache2.4+mysql5.6 搭建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表