Aggungere un utente su un server LDAP
Dopo avere installato, configurato ed abbondantemente testato un server LDAP sorge generalmente un “piccolo” problema: per aggiungere un utente fino ad oggi siamo stati abituati a digitare …
useradd nome utente
Con questo comando, però, aggiungiamo un utente al sistema.
Per aggiungere un utente all’albero LDAP abbiamo diverse scelte. Possiamo farlo via web (PHPldapAdmin) e da shell (utilizzando il comando ldapadd).
In quest’ultimo caso, però, dovremmo creare una struttura ldif, cosa che magari non è di immediato utilizzo.
Siccome Linux=semplicità …
La soluzione si chiama: CPU (Change Password Utility) !!!
Basterà scaricare da qui la versione più adatta alla propria distribuzione Linux (per CentOS io ho sempre utilizzato questo rpm) e digitare il comando:
rpm -Uvh cpu-1.4.3-0.2.el4.rf.i386.rpm
Una volta effettuata l’installazione potremo aggiungere un nuovo utente digitando il comando:
cpu useradd –password=passowrd_utente nome_utente –makehome –directory=/home/nome_utente –skel=/etc/skel/ –shell=/sbin/nologin –exec=/root/mandamail.sh –gid=100 –firstname=”Utente” –lastname=”Fittizio”
dove:
–password = password dell’utente
–makehome = crea la home dell’utente
–directory = home directory dell’utente
–skel = quando viene creata la home directory di un nuovo utente, viene inizializzata con i file dalla directory /etc/skel . L’amministratore di sistema può creare dei file in /etc/skel che daranno un ambiente di default per gli utenti. Ad esempio può creare un file /etc/skel/.profile che imposta la variabile d’ambiente EDITOR ad un editor facile da usare.
–shell = shell di default del nuovo utente
–exec = file batch da eseguire alla creazione del nuovo utente
–gid = gruppo di afferenza dell’utente
–firstname/–lastname = dati dell’utente
CPU può essere finemente parametrizzato tramite il file /etc/cpu.conf
Ecco un esempio del file …
# See cpu.conf(5) for documentation
[GLOBAL]
DEFAULT_METHOD = ldap
CRACKLIB_DICTIONARY = /usr/lib/cracklib_dict[LDAP]
LDAP_HOST = 127.0.0.1
LDAP_PORT = 389
# Can also use LDAP_URI = ldaps://localhost:389 for TLS support
BIND_DN = cn=admin,dc=ldap,dc=server,dc=it
BIND_PASS = password_amministrazione_ldap_server
USER_BASE = ou=People,dc=ldap,dc=server,dc=it
# replace account with inetOrgPerson if you want first or last name
GROUP_BASE = ou=group,dc=ldap,dc=server,dc=it
USER_OBJECT_CLASS = account,posixAccount,shadowAccount,top
GROUP_OBJECT_CLASS = posixGroup,top
USER_FILTER = (objectClass=posixAccount)
GROUP_FILTER = (objectClass=posixGroup)
USER_CN_STRING = uid
GROUP_CN_STRING = cn
SKEL_DIR = /etc/skel
DEFAULT_SHELL = /sbin/nologin
HOME_DIRECTORY = /home
MAX_UIDNUMBER = 10000
MIN_UIDNUMBER = 2000
MAX_GIDNUMBER = 10000
MIN_GIDNUMBER = 100
ID_MAX_PASSES = 1000
USERGROUPS = yes
USERS_GID = 100
RANDOM = “false”
PASSWORD_FILE = “/etc/passfile”
SHADOW_FILE = “/etc/shadowfile”
HASH = “md5″
#ADD_SCRIPT = “contrib/postaddscript.sh”
#DEL_SCRIPT = “foo”
SHADOWLASTCHANGE = 11192
SHADOWMAX = 99999
SHADOWWARING = 7
SHADOWEXPIRE = -1
SHADOWFLAG = 134538308
SHADOWMIN = -1
SHADOWINACTIVE = -1[PASSWD]
# Broken
GROUP = 1000
HOME = /home
INACTIVE = -1
#EXPIRE =
SHELL = /bin/bash
SKEL = /etc/skel
COMMENT = “Default Gecos”
PASSWORD = /etc/passwd
SHADOW = /etc/shadow
segnalo due ottimi manuali, in inglese ovviamente, sull’argomento LDAP
http://www.linuxteam.info/blog/deploying-openldapa