Ldapscripts

Aus ConfigWiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Konfiguration)
(Benutzer/Gruppen anlegen)
Zeile 69: Zeile 69:
 
(Das Erzeugen des Homeverzeichnisses funktionierte später im Test leider trotzdem nicht, sodaß auf pam_mkhomedir ausgewichen werden mußte.)
 
(Das Erzeugen des Homeverzeichnisses funktionierte später im Test leider trotzdem nicht, sodaß auf pam_mkhomedir ausgewichen werden mußte.)
  
==Benutzer/Gruppen anlegen==
+
==Benutzer/Gruppen anlegen, ändern oder löschen==
  
 
Dem Debian-Schema folgend, wird (zuerst) für jeden Benutzer eine gleichnamige Gruppe angelegt, wobei auf die Angabe der GID i.a. verzichtet werden kann:
 
Dem Debian-Schema folgend, wird (zuerst) für jeden Benutzer eine gleichnamige Gruppe angelegt, wobei auf die Angabe der GID i.a. verzichtet werden kann:
Zeile 76: Zeile 76:
 
Daraufhin kann der Benutzer hinzugefügt werden, wobei auch hier auf die UID verzichtet werden kann:
 
Daraufhin kann der Benutzer hinzugefügt werden, wobei auch hier auf die UID verzichtet werden kann:
 
  ldapadduser <username> <groupname> [uid]
 
  ldapadduser <username> <groupname> [uid]
 +
 +
Den Benutzer zu weiteren Gruppen hinzufügen:
 +
ldapaddusertogroup <username | uid> <groupname | gid>
 +
 +
Die primäre Gruppe ändern:
 +
ldapsetprimarygroup <username | uid> <groupname | gid>
 +
 +
Den Benutzer umbenennen (das Homeverzeichnis bleibt dabei unverändert!):
 +
ldaprenameuser <old username | uid> <new username>
 +
 +
Und die entsprechenden Kommandos zum löschen:
 +
ldapdeletegroup <groupname | gid>
 +
ldapdeleteuser <username | uid>
 +
ldapdeleteuserfromgroup <username> <groupname | gid>

Version vom 30. November 2010, 10:25 Uhr

Die ldapscripts sind Kommandozeilentools für die Verwaltung von Unix-Benutzern im LDAP.

Konfiguration

Nach der Installation muß die Konfiguration angepaßt werden.

/etc/ldapscripts (gekürzt):

## Server name
SERVER=localhost

## Bind DN
BINDDN='cn=admin,dc=netbreaker,dc=local'

## Bind Password or file
BINDPWDFILE="/etc/ldap.secret"

## Default suffix
SUFFIX='dc=lenny,dc=local'

## Group/User(aka People)/Machines (aka Hosts) Organizational Unit
GSUFFIX='ou=group'
USUFFIX='ou=people'
MSUFFIX='ou=hosts'

## log everything that is performed by those scripts
LOGFILE="/var/log/ldapscripts.log"

## Start with these IDs *if no entry found in LDAP*
GIDSTART=1000
UIDSTART=1000
MIDSTART=10000

## Default Shell
USHELL=/bin/bash

## default homes (%u is the user name)
UHOMES="/home/%u"

## Ask for user's gecos (full name) ?
ASKGECOS="yes"

## Does the script should create homes ?
CREATEHOMES="yes"

## Directory where the skeleton files are located.
HOMESKEL="/etc/skel"
## Default permissions for home directories
HOMEPERMS="700"

# You can specify custom LDIF templates here
# Leave empty to use default templates
# See *.template.sample for default templates
GTEMPLATE="/etc/ldapscripts/ldapaddgroup.template"
UTEMPLATE="/etc/ldapscripts/ldapadduser.template"
MTEMPLATE="/etc/ldapscripts/ldapaddmachine.template"

Die Templates werden entsprechend kopiert und im Usertemplate werden 'dn' und 'description' angepaßt:

/etc/ldapscripts# diff ldapadduser.template.sample ldapadduser.template
1c1
< dn: uid=<user>,<usuffix>,<suffix>
---
> dn: cn=<user>,<usuffix>,<suffix>
11c11
< description: User account
---
> description: <gecos>

Description kann später im LDAP-Verzeichnis mit einem sinnvollerem Wert belegt werden, mit den Kommandozeilentools ist das leider nicht möglich. (Das Erzeugen des Homeverzeichnisses funktionierte später im Test leider trotzdem nicht, sodaß auf pam_mkhomedir ausgewichen werden mußte.)

Benutzer/Gruppen anlegen, ändern oder löschen

Dem Debian-Schema folgend, wird (zuerst) für jeden Benutzer eine gleichnamige Gruppe angelegt, wobei auf die Angabe der GID i.a. verzichtet werden kann:

ldapaddgroup <groupname> [gid]

Daraufhin kann der Benutzer hinzugefügt werden, wobei auch hier auf die UID verzichtet werden kann:

ldapadduser <username> <groupname> [uid]

Den Benutzer zu weiteren Gruppen hinzufügen:

ldapaddusertogroup <username | uid> <groupname | gid>

Die primäre Gruppe ändern:

ldapsetprimarygroup <username | uid> <groupname | gid>

Den Benutzer umbenennen (das Homeverzeichnis bleibt dabei unverändert!):

ldaprenameuser <old username | uid> <new username>

Und die entsprechenden Kommandos zum löschen:

ldapdeletegroup <groupname | gid>
ldapdeleteuser <username | uid>
ldapdeleteuserfromgroup <username> <groupname | gid>
Meine Werkzeuge