Fixed new_user scripts, added modify_user

This commit is contained in:
aewens 2019-01-07 18:04:18 +01:00
parent c5368f677d
commit 0a9c66aa5c
4 changed files with 31 additions and 7 deletions

19
bin/modify_user Executable file
View File

@ -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

View File

@ -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

4
etc/modify_user.ldif Normal file
View File

@ -0,0 +1,4 @@
dn: uid=__USER__,ou=People,__DN__
changetype: modify
replace: __FIELD__
__FIELD__: __VALUE__

View File

@ -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