Centos6.5搭建LDAP服务器及用户添加删除
2016-01-18 17:42
766 查看
学习搭建LDAP用户认证管理服务器。前面章节介绍安装,后面介绍ldap使用命令行添加用户。
node01 IP:192.168.242.100 server端
node02 IP:192.168.242.13 client端
均关闭iptables和selinux
拷贝配置文件
创建LDAP管理员密码
输入两次后,保存密文
编辑slapd配置文件
修改其中cn,dc相关内容,及rootpw密文密码
拷贝拷贝DB_CONFIG文件
删除默认配置 (否则添加ldap用户时会报错)
设置目录权限
测试并生成配置文件
出现succeed继续
启动服务并设置开机启动
创建账号以备client登陆测试
至此,这些用户仅仅是系统上存在的用户(存储在/etc/passwd和/etc/shadow上),并没有在LDAP数据库里,所以要把这些用户导入到LDAP里面去。但LDAP只能识别特定格式的文件 即后缀为ldif的文件(也是文本文件),所以不能直接使用/etc/passwd和/etc/shadow。 需要migrationtools这个工具把这两个文件转变成LDAP能识别的文件。
安装migrationtools工具
配置migrationtools
修改
搜索”dc=”,值改为与slapd.conf一致内容
下面利用pl脚本将/etc/passwd 和/etc/shadow生成LDAP能读懂的文件格式,保存在/tmp/下
导入LDAP
需要输入管理员密码
重启服务
没有问题后,配置client端使用LDAP认证并挂载家目录
之后配置简单不做叙述
注:如果提示需要安装软件包,安装即可
如安装ldap部分所述,使之符合目前的环境,主要修改部分,cn&dc
以下内容,其中your_passwd 为ldap管理员密码,his_passwd为新建用户初始密码。具体过程如下:
1. 新建本地用户
转换UID至LDAP
转换GID至LDAP
删除本地用户,使用LDAP用户认证
设置用户初始密码
其中’-s’ 指定密码 ‘-S’ 使用交互模式指定密码;同 ‘-w’
设置用户家目录
按照提示输入ldap管理员密码之后
如果没有/home/test目录理应是系统自动建立,如果没有建立,手动建立并执行:
环境准备
两台虚拟机node01 IP:192.168.242.100 server端
node02 IP:192.168.242.13 client端
均关闭iptables和selinux
步骤
分为server端操作和client端操作server端
yum install openldap-servers -y
拷贝配置文件
cd /usr/share/openldap-servers/ cp slapd.conf.obsolete /etc/openldap/slapd.conf
创建LDAP管理员密码
slappasswd
输入两次后,保存密文
New password: Re-enter new password: {SSHA}VAJlsyl8s1wwIt9u+21axefNBxt6QjQf
编辑slapd配置文件
vim /etc/openldap/slapd.conf
修改其中cn,dc相关内容,及rootpw密文密码
database monitor access to * by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.exact="cn=Manager,dc=my-domain,dc=com" read by * none database bdb suffix "dc=my-domain,dc=com" checkpoint 1024 15 rootdn "cn=Manager,dc=my-domain,dc=com" rootpw {SSHA}u9NKZTNKJxVHjRh7yluTDpiy0N7Hno4R
拷贝拷贝DB_CONFIG文件
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
删除默认配置 (否则添加ldap用户时会报错)
rm /etc/openldap/slapd.d/* -rf
设置目录权限
chown -R ldap:ldap /etc/openldap/ chown -R ldap:ldap /var/lib/ldap
测试并生成配置文件
]# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d config file testing succeeded
出现succeed继续
启动服务并设置开机启动
chkconfig slapd on /etc/init.d/slapd start
创建账号以备client登陆测试
useradd ldapuser1 echo '111111' | passwd --stdin ldapuser1
至此,这些用户仅仅是系统上存在的用户(存储在/etc/passwd和/etc/shadow上),并没有在LDAP数据库里,所以要把这些用户导入到LDAP里面去。但LDAP只能识别特定格式的文件 即后缀为ldif的文件(也是文本文件),所以不能直接使用/etc/passwd和/etc/shadow。 需要migrationtools这个工具把这两个文件转变成LDAP能识别的文件。
安装migrationtools工具
yum install migrationtools -y
配置migrationtools
cd /usr/share/migrationtools/ cd /usr/share/migrationtools/
修改
搜索”dc=”,值改为与slapd.conf一致内容
# Default DNS domain $DEFAULT_MAIL_DOMAIN = "my-domain.com"; # Default base $DEFAULT_BASE = "dc=my-domain,dc=com";
下面利用pl脚本将/etc/passwd 和/etc/shadow生成LDAP能读懂的文件格式,保存在/tmp/下
./migrate_base.pl > /tmp/base.ldif ./migrate_passwd.pl /etc/passwd > /tmp/passwd.ldif ./migrate_group.pl /etc/group > /tmp/group.ldif
导入LDAP
需要输入管理员密码
ldapadd -x -D "cn=Manager,dc=my-domain,dc=com" -W -f /tmp/base.ldif ldapadd -x -D "cn=Manager,dc=my-domain,dc=com" -W -f /tmp/group.ldif ldapadd -x -D "cn=Manager,dc=my-domain,dc=com" -W -f /tmp/passwd.ldif
重启服务
/etc/init.d/slapd restart
没有问题后,配置client端使用LDAP认证并挂载家目录
client端
client端使用system-config-authentication工具配置system-config-authentication
之后配置简单不做叙述
注:如果提示需要安装软件包,安装即可
nscd-2.12-1.132.el6.x86_64 nss-pam-ldapd-0.7.5-18.2.el6_4.x86_64
LDAP命令行添加/删除用户
安装ldap工具migrationtools,并且配置migrationtoolsvim /usr/share/migrationtools/migrate_common.ph # Default DNS domain $DEFAULT_MAIL_DOMAIN = "clustertech.com"; # Default base $DEFAULT_BASE = "dc=clustertech,dc=com";
如安装ldap部分所述,使之符合目前的环境,主要修改部分,cn&dc
以下内容,其中your_passwd 为ldap管理员密码,his_passwd为新建用户初始密码。具体过程如下:
1. 新建本地用户
##注意,如果需要指定ldap中test的属组,此处也要指定 useradd test
转换UID至LDAP
cat /etc/passwd | grep test >/tmp/passwd.in /usr/share/migrationtools/migrate_passwd.pl /tmp/passwd.in > /tmp/passwd.ldif /usr/bin/ldapadd -x -D "cn=Manager,dc=clustertech,dc=com" -w your_passwd -f /tmp/passwd.ldif
转换GID至LDAP
cat /etc/group | grep test >/tmp/group.in /usr/share/migrationtools/migrate_group.pl /tmp/group.in > /tmp/group.ldif /usr/bin/ldapadd -x -D "cn=Manager,dc=clustertech,dc=com" -w your_passwd -f /tmp/group.ldif
删除本地用户,使用LDAP用户认证
userdel test ##如果ldap中test的家目录不变,可以不删除目录 #rm -rf /home/test ##查看新建用户结果 ldapsearch -x "uid=test"
设置用户初始密码
/usr/bin/ldappasswd -x -D "cn=Manager,dc=clustertech,dc=com" -w your_passwd "uid=test,ou=People,dc=clustertech,dc=com" -s his_passwd
其中’-s’ 指定密码 ‘-S’ 使用交互模式指定密码;同 ‘-w’
设置用户家目录
ldapmodify -x -D "cn=admin,dc=cas,dc=cn" -W
按照提示输入ldap管理员密码之后
dn: uid=test,ou=People,dc=cas,dc=cn changetype: modify replace: homeDirectory ##导入UID时,默认家目录就是/home/test,此步骤按需操作。 homeDirectory: /home/test
如果没有/home/test目录理应是系统自动建立,如果没有建立,手动建立并执行:
mkdir /home/test cp /etc/skel/.bash* /home/test chown test.test /home/test -R chmod 700 /home/test ##测试 [root@ldap ~]# su - test [test@ldap ~]$ pwd /home/test ##正常登陆,并且登陆只/home/test目录正常 ##删除用户 ldapdelete -x -D "cn=Manager,dc=clustertech,dc=com" -w your_passwd "uid=test,ou=People,dc=clustertech,dc=com"
相关文章推荐
- CentOS环境下LAMP开发环境的搭建与配置(10分钟搞定!!!)
- Linux C串口编程部分 转
- 在centos 6.2,python2.7 下安装QT 4.8.3,pyqt 4.9.5 详细步骤
- linux下设置coredump文件的开关和路径
- 如何在Linux上创建文件系统
- Linux每日学习(十)
- Linux安装JDK及设置环境变量
- CentOS、Ubuntu、Debian三个linux比较异同
- Linux每日学习(九)
- Linux学习之scp命令
- linux设备驱动归纳总结(八):2.match.probe.remove
- linux sigaction信号处理
- CentOS 7 升级内核到最新版本
- linux删除指定文件夹中某个文件除外的其他文件
- linux压缩(解压缩)命令详解
- 初探django-演示charade在centos7下的部署
- Android6.0 selinux没有对某个文件的权限(又neverAllow)处理方法
- Android6.0 selinux没有对某个文件的权限(又neverAllow)处理方法
- 初探django-演示charade使用virtualenv来配置项目在centos7下部署
- linux开启ftp