首页 > 代码库 > linq使用法
linq使用法
http://blog.csdn.net/qq_15117745/article/details/45749359
上星期被要求去项目支援,丫的到月份了,人都跳光了。
还得先学习,LDAP?? 一个集团的人员管理系统,70几万人几十个应用服务的SSO单点关联操作,好像很牛的样子。。。
参考文档:
1.http://baike.baidu.com/link?url=qlh7cwhGpdML3mrWt9an8WFkaYSpSspLzEAEV8v30nh9Y91Zc_RmwX8_RqWiu6ekGM98osTB9Cz1suKfdNnYjK
2.http://blog.163.com/yinjianrui1987@126/blog/static/2549919720147532914371/
3.http://blog.sina.com.cn/s/blog_72ee04a40100p0ce.html
一、LDAP简介
首先LDAP是轻量目录访问协议。
LDAP目录以树状的层次结构来存储数据。如果你对自顶向下的DNS树或UNIX文件的目录树比较熟悉,也就很容易掌握LDAP目录树这个概念了。
都是节点控制,跟我们通用的数据形式有很大却别。
一直有疑问为什么用LDAP? 后来才知道是因为读写速度,构架跟我说LDAP的读写比例是10:1,读取速度是可取之处。方便人员管理。
大多数LDAP目录用OU从逻辑上把数据分开来。表示公司内部的机构:销售部、财务部,等等。
现在LDAP还保留ou=这样的命名规则,但是扩展了分类的范围,可以分类为:ou=people, ou=groups, ou=devices,等等。
定制对象群例如:
你可以用LDAP存储各种类型的数据对象,只要这些对象可以用属性来表示,下面这些是可以在LDAP中存储的一些信息:
l 员工信息:员工的姓名、登录名、口令、员工号、他的经理的登录名,邮件服务器,等等。
- <span style="background-color: rgb(255, 255, 255);">LDAP目录树是这样的:
- dc=foobar, dc=com
- ou=customers
- ou=asia
- ou=europe
- ou=usa
- ou=employees
- ou=rooms
- ou=groups
- ou=assets-mgmt
- ou=nisgroups
- ou=recipes</span>
二、搭建LDAP服务器
主要参考(1)linux杂谈(十一):LDAP服务器的搭建,地址为:http://www.2cto.com/os/201404/296572.html
1.第一个是服务端,我们首先要安装LDAP服务器:RedHat 6.4的ISO文件中有这个openldap-servers包
2.把配置文件的模板拷贝到配置目录上:
3.删除掉没有用的配置文件lapd.conf(注:删除schema会出错,本次测试保留,下图有所出入)
4.修改配置文件权限和用户:
5.编辑配置文件,修改一下几处:
(1)TLS开头加密的那几行注释掉;
(2)这个部分注释掉:
(3)这些做如下修改:
要非常注意的是:rootpw一定要在这行的开头,不能有空格,否则是不生效的!!!
6.虽然服务已经配置好了,但是我们还没有创建要共享的用户,下面我们用脚本创建100个用户:
执行用户创建过程,但是因为是shell编写的脚本,执行过程会比较缓慢,耐性等等,你可以在/etc/passwd文件中查看创建进度。
我们可以看到100个新用户已经创建成功了:
但是有一个问题,这些用户的书写格式是无法直接导入到LDAP服务器上的,所以我们一定要采用格式转换工具来转变格式:
migrationtools是一个格式转换工具,我们先来安装它:
安装完以后我们跳转到它的目录下,发现有很多可执行脚本用来约束格式的:
在migrate_common.ph中修改一下几项:
然后把基本的导入模型进行设置:分为两个部分,产生base.ldif和修改base.ldif:
因为我们只设置它的用户和组,所有只留下这两个部分,其他的全部删除:
把base.ldif转移到/ldapuser目录下:
下面这两个操作是最关键的,我们要把共享的用户和组的信息从passwd和group中截取出来:
然后把这些用户和组的信息转换成可以放到LDAP服务器上的格式:
转换用户:
转换组:
先导入基本模板,然后导入用户和组信息:下图中最后的命令中/data/user.ldif好像是错误的,去掉/data/,直接用user.ldif,另外本次测试中下面的命令是在/ldapuser下执行的
如果出现错误:
ldap_bind: Invalid credentials (49)
就表示你要么给出了错误的"cn="条目,要么给出了错误的密码
完成后重启slapd服务并刷新火墙。
至此,没有安全密钥的LDAP服务端就配置完成了,我们使用另外一台机子的服务端对其进行访问,并且切换用户:
写入服务端的IP:
好了!!最激动人心的时候到了,我们切换用户到myldapuser1下,这个用户在客户端的机子上是没有的,但是现在却可以登录。
说明服务端的用户共享是成功的,可以被其他机子访问。而且最大的优点是:我们可以只更改服务端的用户和组信息就可以完成对其他客户端的影响了。非常的实用方便。这个只是LDAP服务的一个功能。以后遇到了会更深入的了解。
注:这个服务是RHCA阶段的配置,如果感觉第一次比较吃力的话,多配几次,总结成文档,对LDAP的了解就会加深。
1) 在LDAP服务器上 配置nfs服务器
2) 配LDAP客户端。必须有第一节的目录,即:/ldapuser,其它可以没有!
如果不能自动mount,可在配置好LDAP服务器后重启,
或者可执行:#mount -t nfs 192.168.2.102:/ldapuser /ldapuser -o nolock
#ls /ldapuser应显示LDAP服务器/ldapuser的内容
另外,关于NFS服务器配置,可参见 Linux NFS服务器的安装与配置
3) 测试登录,有家目录了!
最好是:cd /var/www/html/目录,再下载phpldapadmin-1.2.2.tgz (版本要新点的,不要下错啊!否则可能造成无法使用)
然后在客户机上打开浏览器http://192.168.0.111/myldap访问LDAP。如下:
登录的时候:DN框输入:cn=Manager,dc=example,dc=com,输入密码。
登录成功!列出目录用户
每次重启LDAP服务器后应执行以下命令:
[root@LDAPSERVER ~]# exportfs -r
[root@LDAPSERVER ~]# /etc/rc.d/init.d/nfs start
[root@LDAPSERVER ~]# service slapd restart
[root@LDAPSERVER ~]# iptables -F
另外要强调的是,客户机的启动要在LDAP服务器完全配置好并运行上述命令后启动,否则有可能不能自动挂载
最后,非常感谢原作者的热心分享!!
linq使用法