Chinaunix首页 | 论坛 | 博客
  • 博客访问: 899159
  • 博文数量: 436
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: -103
  • 用 户 组: 普通用户
  • 注册时间: 2016-08-01 09:48
个人简介

爱生活,爱IT

文章分类

全部博文(436)

文章存档

2015年(1)

2014年(2)

2013年(6)

2011年(39)

2010年(176)

2009年(30)

2008年(28)

2007年(54)

2006年(91)

2005年(9)

分类:

2006-02-07 13:19:46

管理多台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
  database ldbm
  suffix "dc=tiantian.com"
  rootdn "cn=Manager,dc=tiantian.com"
  #指定LDAP管理员的密码
  rootpw secret
  # 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服务器使用。这些脚本也可以到下载。
  
  首先,编辑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
  
  随后执行如下命令:
  %3
阅读(3781) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~