openldap 操作实战

openldap 操作实战(修改用户属性)

批量修改用户的家目录:

编辑批量用户名,及要修改的属性

执行功能:

查找包含字符串fuckyou 或者 zhangsan的行

[[email protected] tmp]# ldapsearch -x -b "dc=alon,dc=com" | grep -i "fuckyou\|zhangsan"

sudoUser: zhangsan

# zhangsan, People, alon.com

dn: uid=zhangsan,ou=People,dc=alon,dc=com

uid: zhangsan

cn: zhangsan

homeDirectory: /mnt/home/zhangsan

# zhangsan, Group, alon.com

dn: cn=zhangsan,ou=Group,dc=alon,dc=com

cn: zhangsan

# fuckyou, People, alon.com

dn: uid=fuckyou,ou=People,dc=alon,dc=com

uid: fuckyou

cn: fuckyou

homeDirectory: /mnt/home/fuckyou

# fuckyou, Group, alon.com

dn: cn=fuckyou,ou=Group,dc=alon,dc=com

cn: fuckyou

修改密码:

[[email protected] tmp]# cat zhangsan.ldif

dn: uid=zhangsan,ou=People,dc=alon,dc=com

changetype:modify

replace:userPassword

userPassword: 123456

openldap 添加组:

[[email protected] ~]# cat group2.ldif

dn: cn=yygrp,ou=Group,dc=alon,dc=com

objectClass: posixGroup

objectClass: top

gidNumber: 1008

ldapadd -x -W -D "cn=admin,dc=alon,dc=com" -f group2.ldif

查找用户名:

ldapsearch -x -b "dc=alon,dc=com" ‘(uid=zhangsan)’

配置要修改:

[[email protected] ~]# cat file1.ldif

dn: cn=yygrp,ou=Group,dc=alon,dc=com

changetype: modify

add: memberuid

memberuid: zhangsan

gidNumber: 1008

修改用户名,添加到组:

ldapmodify -x -W -D "cn=admin,dc=alon,dc=com" -f file1.ldif

在客户端执行id zhangsan

[[email protected] ~]# id zhangsan

uid=5071(zhangsan) gid=5071(zhangsan) groups=5071(zhangsan),1008(yygrp)

利用脚本生成模版:

[[email protected] ~]# cat group.sh

#!/bin/bash

username=$1

if [ $# -lt 1 ];then

echo "Usage: `basename $0` username"

exit 1

fi

case $username in

[a-zA-Z]*)

cat >> grp.ldif <<EOF

dn: cn=yygrp,ou=Group,dc=alon,dc=com

changetype: modify

add: memberuid

memberuid: $username

EOF

;;

[0-9]*)

echo "Plz input the username"

;;

*)

echo "Usage: `basename $0` username"

;;

esac

exit 0

利用python调用shell脚本实现模版的快速创建:

#!/usr/bin/python

import os

import subprocess

userlist = [‘zhenyujian‘,‘zhangbing‘,‘yanlingling‘,‘xiabaiyang‘,‘wengshengli‘,‘wangzhigang‘,‘taoyaping‘,‘peilonghui‘,‘liuxiaopeng‘,‘lixuan‘,‘lixiaobin‘,‘lijianxiang‘,‘hanrui‘,‘fubaokui‘,‘fanyixin‘,‘chenxiaoming‘,‘chenlong‘,‘baiyue‘]

for user in userlist:

subprocess.Popen(["bash", "/root/group.sh", user])

python add.py

生成的grp.ldif文件:

1 dn: cn=yygrp,ou=Group,dc=alon,dc=com

2 changetype: modify

3 add: memberuid

4 memberuid: zhenyujian

5

6 dn: cn=yygrp,ou=Group,dc=alon,dc=com

7 changetype: modify

8 add: memberuid

9 memberuid: zhangbing

10

11 dn: cn=yygrp,ou=Group,dc=alon,dc=com

12 changetype: modify

13 add: memberuid

14 memberuid: yanlingling

15

16 dn: cn=yygrp,ou=Group,dc=alon,dc=com

17 changetype: modify

18 add: memberuid

19 memberuid: xiabaiyang

20

21 dn: cn=yygrp,ou=Group,dc=alon,dc=com

22 changetype: modify

23 add: memberuid

24 memberuid: wengshengli

25

26 dn: cn=yygrp,ou=Group,dc=alon,dc=com

27 changetype: modify

28 add: memberuid

29 memberuid: wangzhigang

30

31 dn: cn=yygrp,ou=Group,dc=alon,dc=com

32 changetype: modify

33 add: memberuid

34 memberuid: taoyaping

35

36 dn: cn=yygrp,ou=Group,dc=alon,dc=com

37 changetype: modify

38 add: memberuid

39 memberuid: liuxiaopeng

40

41 dn: cn=yygrp,ou=Group,dc=alon,dc=com

42 changetype: modify

43 add: memberuid

44 memberuid: peilonghui

45

46 dn: cn=yygrp,ou=Group,dc=alon,dc=com

47 changetype: modify

48 add: memberuid

49 memberuid: lixuan

50

51 dn: cn=yygrp,ou=Group,dc=alon,dc=com

52 changetype: modify

53 add: memberuid

54 memberuid: lixiaobin

55

56 dn: cn=yygrp,ou=Group,dc=alon,dc=com

57 changetype: modify

58 add: memberuid

59 memberuid: lijianxiang

60

61 dn: cn=yygrp,ou=Group,dc=alon,dc=com

62 changetype: modify

63 add: memberuid

64 memberuid: hanrui

65

66 dn: cn=yygrp,ou=Group,dc=alon,dc=com

67 changetype: modify

68 add: memberuid

69 memberuid: fubaokui

70

71 dn: cn=yygrp,ou=Group,dc=alon,dc=com

72 changetype: modify

73 add: memberuid

74 memberuid: fanyixin

75

76 dn: cn=yygrp,ou=Group,dc=alon,dc=com

77 changetype: modify

78 add: memberuid

79 memberuid: chenxiaoming

80

81 dn: cn=yygrp,ou=Group,dc=alon,dc=com

82 changetype: modify

83 add: memberuid

84 memberuid: chenlong

85

86 dn: cn=yygrp,ou=Group,dc=alon,dc=com

87 changetype: modify

88 add: memberuid

89 memberuid: baiyue

执行批量修改用户到指定组:

ldapmodify -x -D cn=admin,dc=alon,dc=com -W -f grp.ldif

修改目标机器具有sudo su - root的权限

时间: 2024-10-09 04:28:10

openldap 操作实战的相关文章

Linux系统crond、rsync、打包备份数据操作实战

Linux系统crond.rsync.打包备份数据操作实战 前面介绍了系统中定时任务.rsync.打包等各种操作,同时也介绍了实际生产环境中的各类案例,今天我们结合这几种功能做一次实战(备份数据) 一:项目背景 某公司WEB服务器数据非常重要,但是如果硬件出现故障,数据就会丢失,人工备份比较费时费力,因些需要进行相关自动备份,并且要备份至指定的备份服务器上 具体备份内容有: 1.网站站点所有目录及相关文件 2.系统相关的配置文件 3.网站的访问日志文件 具体要求如下:(每天0点备份) 1.WEB

005-Scala数组操作实战详解

005-Scala数组操作实战详解 Worksheet的使用 交互式命令执行平台 记得每次要保存才会出相应的结果 数组的基本操作 数组的下标是从0开始和Tuple不同 缓冲数组ArrayBuffer(长度可变) 数组的进阶操作 多维数组 常用数组使用方法分析 1.可通过yield产生新的数组并赋值给变量 2.for循环中也同时可以添加if过滤器来过滤数据再产生新的数据 3.c.filter(_%2==0).Map(2*_)生产环境经常会使用的表达方法(重点) 4.数组和缓冲数组都是可以直接调用其

PHP字符串操作实战用户注册检测界面

PHP字符串操作实战用户注册检测界面一.重点 用字符串的内置函数对输入的字符串进行处理 substr() 取字符串ord()转为ascii码str()把ascii码转为字符串strcmp()比较两个字符串,转为ascii码比较strcasecmp()忽略大小写比较strpos($string,字符)字符串中查找,返回第一次出现的值,没有返回falsestripos()忽略大小写strrpos()最后出现的位置strip_tags()过滤字符串的html和php标记strip_tags($str,

阿里云主机操作实战详细步骤

账户注册 首先登陆阿里云官网https://www.aliyun.com/ 右上角有免费注册 –点击后如下图 1.给这个账户起一个名字 2.设置密码 3.再输入密码 4.输入手机号 5.滑动验证 主机购买 在主页点击产品栏 里面有各种产品供你选择 我这里选择云服务器ECS  选择其他操作雷同 点击立即购买  选择自定义配置 选择你需要的配置 1. 计费方式:包年/包月 2. 地域:不同地域的实例之间内网互不相通:选择靠近您客户的地域,可降低网络时延.提高您客户的访问速度 3. 网络:选择经典网络

[0014] HDFS 常用JAVA 操作实战

目的: 学习用java进行的常用hdfs操作 参考: [0002] Hadoop HDFS cmd常用命令练手 环境: hadoop2.6.4 win7 下的eclipse环境调试已经配置好,参考前面的文章 代码: 1. 创建文件夹 1 package hdfs; 2 3 import java.io.IOException; 4 5 import org.apache.hadoop.conf.Configuration; 6 import org.apache.hadoop.fs.FileSy

第95课:通过Spark Streaming的window操作实战模拟新浪微博、百度、京东等热点搜索词案例实战

背景描述:在社交网络(例如微博).电子商务(例如京东).搜索引擎(例如百度)等人们核心关注的内容之一就是我所关注的内容中大家正在最关注什么或者说当前的热点是什么,这在实际企业级应用中是非常有价值的.例如我们关系过去30分钟大家正在热搜索什么,并且每5分钟更新一次,这就使得热点内容是动态更新,当然也是更有价值. 我们知道在SparkStreaming中可以设置batchInterval,让SparkStreaming每隔batchInterval时间提交一次Job,假设batchInterval设

1006-HBase操作实战(JAVA API状态)

一.准备阶段 开发环境: hadoop: hadoop -2.4.0 hbase: hbase -0.94.11-security eclipse:Juno Service Release 2 二.创建 hbasedemo项目 1.通过 Eclipse 创建一个新 Java project 2.右击项目根文件夹,选择"Propertiesà> Java Build Pathà> Libraryà>  Add  External  JARs" 3.加入jar文件到 cl

1006-HBase操作实战(JAVA API模式)

一.准备阶段 开发环境: hadoop: hadoop -2.4.0 hbase: hbase -0.94.11-security eclipse:Juno Service Release 2 二.创建 hbasedemo项目 1.通过 Eclipse 创建一个新 Java 工程 2.右击项目根目录,选择"Propertiesà> Java Build Pathà> Libraryà>  Add  External  JARs" 3.添加jar文件到 classpat

HDFS snapshot操作实战

Hadoop从2.1.0版开始提供了HDFS SnapShot的功能.一个snapshot(快照)是一个全部文件系统.或者某个目录在某一时刻的镜像.快照在下面场景下是非常有用:防止用户的错误操作:管理员可以通过以滚动的方式周期性设置一个只读的快照,这样就可以在文件系统上有若干份只读快照.如果用户意外地删除了一个文件,就可以使用包含该文件的最新只读快照来进行回复.备份:管理员可以根据需求来备份整个文件系统,一个目录或者单一一个文件.管理员设置一个只读快照,并使用这个快照作为整个全量备份的开始点.增