2 次代码提交 62ec237854 ... f157129480

作者 SHA1 备注 提交日期
  theo f157129480 Added a script to reset a user's password 1 年之前
  theo 5b29f31a3e Added a few useful aliases for ldapvi 1 年之前
共有 2 个文件被更改,包括 43 次插入1 次删除
  1. 13 1
      funcs
  2. 30 0
      resetpassword

+ 13 - 1
funcs

@@ -32,7 +32,7 @@ group_is_posix() {
 	[ -n "$res" ]
 }
 
-get_posixGroups () {
+get_posixGroups() {
 	$GROUPSEARCHCMD "(&(memberUid=$1)(objectClass=posixGroup))" | grep cn: | cut -f2 -d' '
 }
 
@@ -43,3 +43,15 @@ get_posixGroups () {
 get_posix_number() {
 	echo $(( $($PEOPLESEARCHCMD "(objectClass=posixAccount)" | grep 'uidNumber: 2' | cut -d' ' -f2 | sort -u | tail -n 1) +1))
 }
+
+vf() {
+	ldapvi --discover -Z -w $BINDPW  -h localhost -D $BINDDN "($1)"
+}
+
+vu() {
+	vf "uid=$1"
+}
+
+vg() {
+	vf "cn=$1"
+}

+ 30 - 0
resetpassword

@@ -0,0 +1,30 @@
+#!/bin/bash -e
+. .env
+. funcs
+
+usage() {
+	echo "Usage : $(basename $0) -u <uid> -n <First name> -s <Last Name> [-p] [-g group1,group2,...]"
+}
+
+trap usage ERR
+
+clearpw=$(pwgen 50 1)
+pw=$(/usr/sbin/slappasswd -o module-load=pw-sha2 -h '{SSHA512}' -s "$clearpw")
+
+uid=$1
+
+if user_exists $uid; then
+    true
+else
+    echo "User $uid does not exists." 
+    exit 1
+fi
+
+ldif="dn: uid=$uid,$PEOPLEDN
+changetype: modify
+replace: userPassword
+userPassword: $pw"
+
+echo "$ldif" | ldapmodify $LDAPOPTS
+echo "Password changed, here is the new one"
+echo "$clearpw"