挑战记忆极限,实现LDAP的用户管理(一)

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

管理多台Linux服务器时,如果每台服务器都有自己独立的用户名和密码,那么记忆和维护这些信息就非常具有挑战性。笔者从事Linux的培训工作,经常遇到这样的问题:每次学生上机的座位可能都不同,用户名和密码等相关的信息经常被修改。

如果互相配合不好,就很容易造成有些人无法登录,并且学生的文件资料也难以保存。于是,笔者通过将老师使用的电脑配置成为LDAP和NFS服务器,为所有的学生提供密码验证服务来解决这个问题。

本文中LDAP服务器使用的是Fedora Core 2自带的OpenLDAP-Server软件,读者配置时需要确保已经安装了该软件包。主流的LDAP服务器还有IBM Directory Server和Sun Java System Directory Server等,使用它们同样可行,配置也是大同小异。其中Sun Java System Directory Server还可以在Windows或Solaris平台运行。

配置OpenLDAP服务器

首先,为每个学生指定组、用户名和密码,分别写入/etc下的group、passwd和shadow文件。然后修改配置文件 /etc/sldap.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

allow bind_v2

pidfile/var/run/slapd.pid

#配置访问控制列表,使得用户可以修改自己的密码及查询其它资料

access to attr=userPassword

by self write

by anonymous auth

access to dn="dc=tiantian.com"

by self write

by * read

databaseldbm

suffix"dc=tiantian.com"

rootdn"cn=Manager,dc=tiantian.com"

#指定LDAP管理员的密码

rootpwsecret

# rootpw{crypt}ijFYNcSNctBYg

directory/var/lib/ldap

修改完成后,执行如下命令启动LDAP服务器:

# service ldap start

将信息导入LDAP服务器

在/usr/share/openldap/migration/目录中有一些Perl脚本,这些脚本可以将/etc/group中的组,以及/etc/passwd和/etc/shadow中的用户名和密码导出成.ldif格式的文件,供OpenLDAP服务器使用。这些脚本也可以到http://www.padl.com/下载。

首先,编辑migrate_common.ph文件,分别给“$DEFAULT_MAIL_DOMAIN”和“$DEFAULT_BASE”赋值:

$DEFAULT_MAIL_DOMAIN

"tiantian.com";

$DEFAULT_BASE = "dc=tiantian.com";

注意,所赋的值要和/etc/sldap.conf中的设置相对应(dc=tiantian.com)。

然后,执行以下脚本,将OpenLDAP服务器初始化所需要的资料写入/root/base.ldif文件:

# ./migrate_base.pl

/root/base.ldif

# ./migrate_group.pl

/etc/group /root/base.ldif

# ./migrate_passwd.pl /etc/passwd /root/base.ldif

随后执行如下命令:

# ldapadd -x -D 'cn=Manager,dc=tiantian.com' -W -f /root/base.ldif

这样,就将所有组、用户名及其密码等信息导入了LDAP服务器。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航