ldap笔记

参考http://wiki.ubuntu.org.cn/index.php?title=OpenLDAPServer&variant=zh-cn#Installation.EF.BC.88.E5.AE.89.E8.A3.85.EF.BC.89

先安装slapd 和 ldap-utils
vim /etc/ldap/slapd.conf
# Make sure you edit or add these directives after the first 'database' directive.
suffix          "dc=example,dc=com"
directory       "/var/lib/ldap"
rootdn          "cn=admin,dc=example,dc=com"
rootpw          {SSHA}d2BamRTgBuhC6SxC0vFGWol31ki8iq5m


停止 LDAP 守护进程:sudo /etc/init.d/slapd stop


折腾了半天,ubuntu装上了但是认证失败,据说是因为tab和空格的问题,还用windows先试用一下吧
http://code.google.com/p/i18n-zh/wiki/OpenLDAP
这个新版本没装上
---------------------------------------------
这个哥们写的太好了,推荐一下
http://topinking.iteye.com/blog/223330

1.去csdn下载openldap-2.2.29-db-4.3.29-openssl-0.9.8a-win32_Setup.exe,安装
2.修改C:\WINDOWS\system32\drivers\etc下的host文件本地ip改成,
127.0.0.1       localhost
209.85.225.101	sites.google.com
192.168.1.116	example.com

最后一个为本地ip
3.C:\Program Files\OpenLDAP\slapd.conf
把下面两行(57,58行)
suffix  "dc=my-domain,dc=com"
rootdn  "cn=Manager,dc=my-domain,dc=com"
改成
suffix  "dc=example,dc=com"
rootdn  "cn=Manager,dc=example,dc=com"

运行slappasswd -h {MD5}
把下面这行(62行)
rootpw  secret
改成刚得到的密码,类似
rootpw  {MD5}S6CYCoq9tq5LPyFg79WaMQ==
启动 slapd -d 1
4.
import java.util.*;
import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
 
public class Demo {
	public static void main(String[] args) {
	    Demo LDAPTest1 = new Demo();
	    String root = "dc=example,dc=com"; //root
	    Hashtable env = new Hashtable();
	    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
	    env.put(Context.PROVIDER_URL, "ldap://192.168.1.116/" + root);    
	    env.put(Context.SECURITY_AUTHENTICATION, "simple");
	    env.put(Context.SECURITY_PRINCIPAL, "cn=Manager,dc=example,dc=com");
	    env.put(Context.SECURITY_CREDENTIALS, "haoning");
	    DirContext ctx = null;
	    try {
	      ctx = new InitialDirContext(env);
	      System.out.println("认证成功");
	    }
	    catch (javax.naming.AuthenticationException e) {
	      e.printStackTrace();
	      System.out.println("认证失败");
	    }
	    catch (Exception e) {
	      System.out.println("认证出错:");
	      e.printStackTrace();
	    }
	    if (ctx != null) {
	      try {
	        ctx.close();
	      }
	      catch (NamingException e) {
	        //ignore
	      }
	    }
	    System.exit(0);
  }
}

参考http://blog.csdn.net/keonchen/archive/2007/06/28/1669913.aspx
ldapsearch uid=example
  返回关于用户example的所有公开信息。
  这和find / -uid example unix命令很类似。
编辑你的 /etc/openldap/ldap.conf配置文件
  该文件位于ldap客户端(我们将使用同一计算机作为服务器和客户端,当然这可以在同一计算机或不同的计算机上)
  通常诸如ldapdelete 、ldapadd等等的ldap客户端会读该文件的内容。
    

你可能感兴趣的:(windows,ubuntu,Security,Google,vim)