本节书摘来自异步社区《linux/unix openldap实战指南》一书中的第2章,第2.7节,作者:郭大勇著,更多章节内容可以访问云栖社区“异步社区”公众号查看
添加用户和用户组的方式有两种。一种是将系统用户通过migrationtools工具生成ldif文件并结合ldapadd命令导入openldap目录树中,生成openldap用户。另一种通过自定义ldif文件并通过openldap命令进行添加或者修改操作。本节分别介绍两种方法的实现来完成openldap用户的添加。
2.7.1 通过migrationtools实现openldap用户及用户组的添加
migrationtools开源工具通过查找/etc/passwd、/etc/shadow、/etc/groups生成ldif文件,并通过ldapadd命令更新数据库数据,完成用户添加。具体步骤如下。
1)安装migrationtools工具。
<code># yum install migrationtools -y</code>
2)创建openldap根域条目。
<code># /usr/share/migrationtools/migrate_base.pl > base.ldif</code>
读者可以编辑base.ldif进行修改,将不需要的条目删除,然后通过ldapadd导入至openldap目录树。
3)添加用户用于生成openldap用户。
此处添加系统普通用户。通过以下脚本添加user1~user5。
4)配置migrationtools配置文件。
将以上内容修改为自己所定义的域名,例如本章以gdy.com为准。
5)通过migrationtools工具生成ldif模板文件并生成系统用户及组ldif文件。
6)查看生成的ldif文件。
查看生成的people.ldif条目信息。
查看生成的group.ldif条目信息。
读者可以将不需要的条目信息进行修改,满足当前需求,然后通过ldapdd导入。
7)利用ldapadd导入模板文件中的内容。
导入用户ldif文件至openldap目录树中,生成用户。
导入组ldif文件至openldap目录树中,生成用户组。
8)查询添加的openldap用户信息。
至此通过migrationtools工具实现了本地用户和本地组的迁移,并且通过ldapsearch成功过滤(filter)查询匹配user1的用户属性信息。关于filter的更多信息,可以通过查询ldapsearch的帮助手册来了解。
2.7.2 自定义ldif文件添加用户及用户组条目
前面通过定义ldif文件添加用户和用户组信息,然后通过ldapdd进行添加,同样也可通过下面的方法进行添加。作者强力建议通过定制ldif文件添加目录树条目。具体步骤如下。
1)定义ldif用户文件。
前面通过head –n 20 people.ldif定义符合要求的用户属性信息,然后通过ldapadd进行导入即可,这里不做过多阐述。同样可以通过下面这种方法来实现用户和用户组的添加。
此ldif文件中存在中文字符,建议使用linux dos2unix命令进行转换,例如dos2unix -k –n file new_file。作者建议尽可能不要使用中文字符进行添加,而使用英文添加。
2)查看当前openldap服务器目录树信息。