Version 3 (modified by cgelmini, 8 years ago)

--

Inserimento di utenti in massa in LDAP


Vediamo come inserire un numero consistente di utenti dentro LDAP per mezzo di uno script in python 
preparato da Cristopher per l'occasione.

Testo sorgente dello script:

#!/usr/bin/env python

import sys,os

data = open(sys.argv[1]).readlines()
newdata = open("utenti-e-password.txt","w")
newdata.write("Utenti inseriti:\n")
newdata.write("Nome\t\tCognome\t\tUsername\t\tPassword\n")
for line in data:
  line.strip()
  name,surname,username,group = line[:-1].split(",")
  name = name[1:-1]
  surname = surname[1:-1]
  fullname = name+" "+surname
  username = username[1:-1]
  group	= group[1:-1]
  p = os.popen("pwgen 8 1")
  password = p.read()[:-1]
  p.close()
  print "Inserisco utente ", username
  cmd = "smbldap-useradd -a -m -G \"%s\" -c \"%s\" -N \"%s\" -S \"%s\" %s" % (group, fullname, fullname, surname,username)
  print "Eseguo ",cmd
  os.system(cmd)
  p = os.popen("smbldap-passwd %s" % username, "w")
  p.write("%s\n" % password)
  p.write("%s\n" % password)
  p.close()
  newdata.write("%s\t\t%s\t\t%s\t\t%s\n" % (name,surname,username,password))
  
newdata.close()

Tra un po' arrivano le note esplicative ;-) Salviamo in un file il codice qui sopra (utenti.py - ad esempio) il file si lancia da riga di comando con: python nomefile.py fileutenti fileutenti è il nome del file contenente la lista dei nostri utenti nel formato: "nome";"cognome";"nome_login";"gruppo1,gruppo2,gruppo3,gruppo4,ecc.(tutti i gruppi)" "antonio";"latrippa";"a_latrippa";"internet,studenti,cdrom,usbdev,ecc.(tutti i gruppi)"

andate con cautela e fate prima delle prove sul vostro server di testing che sicuramente avete predisposto a casa, scuola, ufficio ecc., ..... o no? have fun!!!!!!!!!!

Dimenticavo, vi trovate in un file utenti-e-password.txt la lista degli utenti e delle password assegnate. (Senno' era un casino ;-)))