热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

openldap双主_使用OpenLDAP和NFS/automount的UnifiedLinux登录和主目录

openldap双主Inthispost,howtounifiedLinuxloginandhomedirectoryusingOpenLDAPandNFSautomountwil

openldap双主

In this post, how to unified Linux login and home directory using OpenLDAP and NFS/automount will be introduced.

在本文中,将介绍如何使用OpenLDAP和NFS / automount统一Linux登录名和主目录。

0.系统环境 (0. System environment)

This solution is tested on Fedora 12 systems and CentOS 5.

该解决方案已在Fedora 12 系统和CentOS 5上进行了测试。

LDAP and NFS server:
IP: 10.0.0.2
OS: Fedora 12 x86_64
ldap base dn: “dc=lgcpu1″

LDAP和NFS服务器:
IP:10.0.0.2
作业系统:Fedora 12 x86_64
ldap基本dn:“ dc = lgcpu1”

Clients:
IP: 10.0.0.1/24
OS: Fedora 12 x86_64

客户:
IP:10.0.0.1/24
作业系统:Fedora 12 x86_64

1. LDAP服务器 (1. LDAP server)

软件包安装: (Package installation:)

# yum install openldap-servers
# /sbin/chkconfig ldap on
# /sbin/service ldap start

添加或编辑以下配置: ( Add or edit these configurations:)

Edit /etc/openldap/slapd.conf. Add or edit:

编辑/etc/openldap/slapd.conf 。 添加或编辑:

include /etc/openldap/schema/redhat/autofs.schema#########################################################
# ldbm and/or bdb database definitions
#########################################################database bdb
suffix "dc=lgcpu1"
checkpoint 1024 15
rootdn "cn=Manager,dc=lgcpu1"rootpw {crypt}x# Access Control
access to attrs=userPasswordby self writeby anonymous authby dn="cn=manager,dc=lgcpu1" writeby * compare
access to *by self writeby dn="cn=manager,dc=lgcpu1" writeby * read

How to get the rootpw:

如何获得rootpw:

perl -e "print crypt('passwd', 'salt_string',);"

添加top.ldif (Add top.ldif)

top.ldif:

top.ldif:

dn: dc=lgcpu1
objectclass: dcObject
objectclass: organization
o: lgcpu1 group
dc: lgcpu1dn: cn=manager,dc=lgcpu1
objectclass: organizationalRole
cn: managerdn: ou=people,dc=lgcpu1
ou: people
objectclass: organizationalUnit
objectclass: domainRelatedObject
associatedDomain: lgcpu1dn: ou=contacts,ou=people,dc=lgcpu1
ou: contacts
ou: people
objectclass: organizationalUnit
objectclass: domainRelatedObject
associatedDomain: lgcpu1dn: ou=group,dc=lgcpu1
ou: group
objectclass: organizationalUnit
objectclass: domainRelatedObject
associatedDomain: lgcpu1

Add top.ldif to ldap server:

将top.ldif添加到ldap服务器:

$ ldapadd -x -D 'cn=manager,dc=lgcpu1' -W -f top.ldif

Then search all the content in the ldap server by:

然后通过以下方式搜索ldap服务器中的所有内容:

ldapsearch -x -D 'cn=manager,dc=lgcpu1' -W

If the previous work is correctly processed. ldapsearch will print out all the content in ldap database.

如果先前的工作得到正确处理。 ldapsearch将打印出ldap数据库中的所有内容。

通过本地配置添加用户和组: (Add users and groups from local configuration:)

Copy passwd shadow group from /etc/ to some tmp location
Edit them and only keep the normal users, that means no system users.

将passwd影子组从/ etc /复制到某个tmp位置
编辑它们,只保留普通用户,这意味着没有系统用户。

$ vim /usr/share/openldap/migration/migrate_common.ph

Edit these values:

编辑这些值:

# Default DNS domain
$DEFAULT_MAIL_DOMAIN = "cse.ust.hk";# Default base
$DEFAULT_BASE = "dc=lgcpu1";

Then add the encryped password from shadow file to userPassword like this:

然后将加密文件中的加密密码从影子文件添加到userPassword中,如下所示:

$ /usr/share/openldap/migration/migrate_passwd.pl ./passwd > people.ldif

The password is in this format:

密码采用以下格式:

userPassword: {crypt}$1$Zlkjsdf...

Then add people.ldif to ldap server

然后将people.ldif添加到ldap服务器

$ /usr/share/openldap/migration/migrate_group.ph ./group > group.ldif

Then add group.ldif to ldap server

然后将group.ldif添加到ldap服务器

添加auto.master.ldif (Add auto.master.ldif)

dn: ou=auto.master,dc=lgcpu1
objectClass: top
objectClass: automountMap
ou: auto.masterdn: cn=/home,ou=auto.master,dc=lgcpu1
objectClass: automount
automountInformation: ldap:ou=auto.home,dc=lgcpu1
cn: /homedn: cn=/share,ou=auto.master,dc=lgcpu1
objectClass: automount
automountInformation: ldap:ou=auto.misc, dc=lgcpu1
cn: /share

add auto.master.ldif

添加auto.master.ldif

添加auto.home.ldif (Add auto.home.ldif)

Add for every users

为每个用户添加

add auto.home.ldif

添加auto.home.ldif

auto.misc.ldif (auto.misc.ldif)

Add for some common share directories

添加一些常见的共享目录

dn: ou=auto.misc,dc=lgcpu1
objectClass: top
objectClass: automountMap
ou: auto.misc

add auto.misc.ldif

添加auto.misc.ldif

2. NFS服务器 (2. NFS server)

Please refer to How to Set Up and Configure NFS Server and Clients for how to set up a NFS server.

请参阅如何设置和配置NFS服务器和客户端以了解如何设置NFS服务器。

编辑/ etc / exports (Edit /etc/exports)

Allow the servers inside subnet 10.0.0.1/24 to mount the /home directory with read/write permission. Add this line to /etc/exports:

允许子网10.0.0.1/24内的服务器安装具有读/写权限的/ home目录。 将此行添加到/ etc / exports:

/home 10.0.0.1/24(rw)

启动服务 (Start up service)

Enable nfs service on the NFS server so that the service automatically starts each time the server starts:

在NFS服务器上启用nfs服务,以便该服务在每次服务器启动时自动启动:

# /sbin/chkconfig nfs on

You may also manually start it

您也可以手动启动它

# service nfs start

3.客户端配置 (3. Client configuration)

3.1软件包安装 (3.1 Packages installation)

# yum install nss_ldap autofs nfs-utils
# chkconfig autofs on
# service rpcbind restart
# service autofs restart

3.2配置 (3.2 Configuration)

# authconfig-tui

Select like this:

像这样选择:

| User Information Authentication │
│ [ ] Cache Information [*] Use MD5 Passwords │
│ [ ] Use Hesiod [*] Use Shadow Passwords │
│ [*] Use LDAP [*] Use LDAP Authentication │
│ [ ] Use NIS [ ] Use Kerberos │
│ [ ] Use Winbind [ ] Use Fingerprint reader │
│ [ ] Use Winbind Authentication │
│ [*] Local authorization is sufficient │

In next step:

下一步:

│ [ ] Use TLS │
│ Server: ldap://10.0.0.2/________________________ │
│ Base DN: dc=lgcpu1_______________________________ │

3.3在以下位置删除旧的用户条目: (3.3 Delete old user entries in:)

/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow

/ etc / passwd
/ etc / shadow
/ etc / group
/ etc / gshadow

4.添加个人 (4. add individual person)

将people.sample.ldif添加到ldap (Add people.sample.ldif to ldap)

dn: uid=sample,ou=People,dc=lgcpu1
uid: sample
cn: sample
sn: sample
mail: sample@cse.ust.hk
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
userPassword: {crypt}$6$encryped password here
loginShell: /bin/bash
uidNumber: 507
gidNumber: 507
homeDirectory: /home/sample

将group.sample.ldif添加到ldap (Add group.sample.ldif to ldap)

dn: cn=sample,ou=Group,dc=lgcpu1
objectClass: posixGroup
objectClass: top
cn: sample
userPassword: {crypt}x
gidNumber: 507

将auto.home.sample.ldif添加到ldap (Addauto.home.sample.ldif to ldap)

dn: cn=sample,ou=auto.home,dc=lgcpu1
objectClass: automount
automountInformation: 10.0.0.2:/home/sample
cn: sample

删除以下位置的旧条目: (Delete old entries in:)

/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow

/ etc / passwd
/ etc / shadow
/ etc / group
/ etc / gshadow

在NFS服务器上创建主目录: (Create home directory on NFS server:)

# mkdir /home/sample
# cp /etc/skel/.[a-z]* /home/sample/
# chown -R 507:507 /home/sample/

翻译自: https://www.systutorials.com/unified-linux-login-and-home-directory-using-openldap-and-nfsautomount/

openldap双主



推荐阅读
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • Android系统源码分析Zygote和SystemServer启动过程详解
    本文详细解析了Android系统源码中Zygote和SystemServer的启动过程。首先介绍了系统framework层启动的内容,帮助理解四大组件的启动和管理过程。接着介绍了AMS、PMS等系统服务的作用和调用方式。然后详细分析了Zygote的启动过程,解释了Zygote在Android启动过程中的决定作用。最后通过时序图展示了整个过程。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • Linux下安装依赖包版本高解决方法
    本文介绍了在Linux系统下,当已安装的依赖包版本高于需要安装的依赖包版本时,解决方法包括欺骗安装程序和修改相关配置文件等操作。针对不同情况,提供了不同的解决方案。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
author-avatar
mobiledu2502905163
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有