Ldapscripts: Unterschied zwischen den Versionen

Aus Xinux Wiki
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

Siehe auch