Ldapscripts: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „= LDAP-Skripte für itXX.int = Dieser Artikel bietet eine Übersicht über wichtige LDAP-Befehle und Skripte für die Verwaltung von Benutzern, Gruppen und an…“) |
(kein Unterschied)
|
Aktuelle Version vom 1. Juli 2025, 08:44 Uhr
LDAP-Skripte für itXX.int
Dieser Artikel bietet eine Übersicht über wichtige LDAP-Befehle und Skripte für die Verwaltung von Benutzern, Gruppen und anderen Objekten in der Domain itXX.int mit der Standardgruppe IT.
Grundlegende LDAP-Befehle
Verbindung zum LDAP-Server
ldapsearch -x -H ldap://itXX.int -D "cn=admin,dc=itXX,dc=int" -W -b "dc=itXX,dc=int"
Benutzer suchen
ldapsearch -x -H ldap://itXX.int -D "cn=admin,dc=itXX,dc=int" -W -b "dc=itXX,dc=int" "(uid=mustermann)"
Benutzerverwaltung
Neuen Benutzer anlegen
dn: uid=mustermann,ou=users,dc=itXX,dc=int
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: mustermann
sn: Mustermann
givenName: Max
cn: Max Mustermann
displayName: Max Mustermann
uidNumber: 10000
gidNumber: 10000
userPassword: {CRYPT}x
gecos: Max Mustermann
loginShell: /bin/bash
homeDirectory: /home/mustermann
mail: max.mustermann@itXX.int
Benutzer zur IT-Gruppe hinzufügen
dn: cn=IT,ou=groups,dc=itXX,dc=int changetype: modify add: memberuid memberuid: mustermann
Benutzerpasswort ändern
ldappasswd -x -H ldap://itXX.int -D "cn=admin,dc=itXX,dc=int" -W -S "uid=mustermann,ou=users,dc=itXX,dc=int"
Gruppeverwaltung
Neue Gruppe erstellen
dn: cn=NeueGruppe,ou=groups,dc=itXX,dc=int objectClass: posixGroup cn: NeueGruppe gidNumber: 10001 memberUid: mustermann
Mitglieder einer Gruppe auflisten
ldapsearch -x -H ldap://itXX.int -D "cn=admin,dc=itXX,dc=int" -W -b "ou=groups,dc=itXX,dc=int" "(cn=IT)"
Nützliche Skripte
Massenimport von Benutzern
#!/bin/bash
# Benutzerimport-Skript für itXX.int
while IFS=, read -r uid vorname nachname passwort
do
ldapadd -x -H ldap://itXX.int -D "cn=admin,dc=itXX,dc=int" -W <<EOF
dn: uid=$uid,ou=users,dc=itXX,dc=int
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: $uid
sn: $nachname
givenName: $vorname
cn: $vorname $nachname
displayName: $vorname $nachname
uidNumber: $(shuf -i 10000-11000 -n 1)
gidNumber: 10000
userPassword: $passwort
gecos: $vorname $nachname
loginShell: /bin/bash
homeDirectory: /home/$uid
mail: $uid@itXX.int
EOF
ldapmodify -x -H ldap://itXX.int -D "cn=admin,dc=itXX,dc=int" -W <<EOF
dn: cn=IT,ou=groups,dc=itXX,dc=int
changetype: modify
add: memberuid
memberuid: $uid
EOF
done < benutzerliste.csv
Benutzer deaktivieren
#!/bin/bash # Benutzerdeaktivierung für itXX.int ldapmodify -x -H ldap://itXX.int -D "cn=admin,dc=itXX,dc=int" -W <<EOF dn: uid=$1,ou=users,dc=itXX,dc=int changetype: modify replace: loginShell loginShell: /sbin/nologin EOF