From 0a9c66aa5cf0771bb7c153cbaaa3700c15cff6c1 Mon Sep 17 00:00:00 2001 From: aewens Date: Mon, 7 Jan 2019 18:04:18 +0100 Subject: [PATCH] Fixed new_user scripts, added modify_user --- bin/modify_user | 19 +++++++++++++++++++ bin/new_user | 9 +++++---- etc/modify_user.ldif | 4 ++++ etc/new_user.ldif | 6 +++--- 4 files changed, 31 insertions(+), 7 deletions(-) create mode 100755 bin/modify_user create mode 100644 etc/modify_user.ldif diff --git a/bin/modify_user b/bin/modify_user new file mode 100755 index 0000000..76bebda --- /dev/null +++ b/bin/modify_user @@ -0,0 +1,19 @@ +#!/bin/bash + +LDAP_DIR=/center/etc/ldap +SECRET_DIR=/center/etc/secrets +SECRET=$SECRET_DIR/ldap.secret +_LDIF=$LDAP_DIR/modify_user.ldif +LDIF=$LDAP_DIR/users/$1-modify.ldif +DN="dc=tilde,dc=center" +if [ -f $LDIF ]; then + rm $LDIF +fi +cp $_LDIF $LDIF + +sed -i "s#__DN__#$DN#" $LDIF +sed -i "s#__USER__#$1#" $LDIF +sed -i "s#__FIELD__#$2#" $LDIF +sed -i "s#__VALUE__#$3#" $LDIF + +ldapmodify -x -w $(cat $SECRET) -D "cn=Manager,$DN" -f $LDIF diff --git a/bin/new_user b/bin/new_user index eaa7c63..d81a464 100755 --- a/bin/new_user +++ b/bin/new_user @@ -19,9 +19,7 @@ chmod 700 $PASSWD slappasswd -g >> $PASSWD DN="dc=tilde,dc=center" SLAP=$(slappasswd -T $PASSWD) -TCID=$(($(cat /etc/passwd | cut -d":" -f1,3 | cut -d":" -f2 | sort -h | tail -n 1) + 1)) -HASH=$(head -c 32 /dev/urandom | base64 | sha256sum) -GECOS=${HASH::-4} +TCID=$(($(cat $LDAP_DIR/new_user.ldif | grep uidNumber| cut -d" " -f2) + 1)) SHELL=$(which $2) sed -i "s#__DN__#$DN#" $LDIF @@ -30,7 +28,7 @@ sed -i "s#__GROUP__#$1#" $LDIF sed -i "s#__UID__#$TCID#" $LDIF sed -i "s#__GID__#$TCID#" $LDIF sed -i "s#__SHELL__#$SHELL#" $LDIF -sed -i "s#__GECOS__#$GECOS#" $LDIF +sed -i "s#__GECOS__#$1#" $LDIF sed -i "s#__SLAP__#$SLAP#" $LDIF ldapadd -x -w $(cat $SECRET) -D "cn=Manager,$DN" -f $LDIF @@ -41,3 +39,6 @@ cp -rf /etc/skel $CHOME_DIR chmod 711 $CHOME_DIR chown -R $1:$1 $CHOME_DIR ln -s $CHOME_DIR $HOME_DIR + +sed -i "s/uidNumber.*/uidNumber: $TCID/" $LDAP_DIR/new_user.ldif +sed -i "s/gidNumber.*/gidNumber: $TCID/" $LDAP_DIR/new_user.ldif diff --git a/etc/modify_user.ldif b/etc/modify_user.ldif new file mode 100644 index 0000000..3cc3024 --- /dev/null +++ b/etc/modify_user.ldif @@ -0,0 +1,4 @@ +dn: uid=__USER__,ou=People,__DN__ +changetype: modify +replace: __FIELD__ +__FIELD__: __VALUE__ diff --git a/etc/new_user.ldif b/etc/new_user.ldif index c3b55e5..c412c2a 100644 --- a/etc/new_user.ldif +++ b/etc/new_user.ldif @@ -5,8 +5,8 @@ objectClass: posixAccount objectClass: shadowAccount cn: __USER__ uid: __USER__ -uidNumber: __UID__ -gidNumber: __GID__ +uidNumber: 2000 +gidNumber: 2000 homeDirectory: /home/__USER__ loginShell: __SHELL__ gecos: __GECOS__ @@ -18,4 +18,4 @@ shadowWarning: 0 dn: cn=__GROUP__,ou=Group,__DN__ objectClass: top objectClass: posixGroup -gidNumber: __GID__ +gidNumber: 2000