Aug 292014
 

Se si gestisce un server con molti utenti diversi o semplicemente il computer di famiglia si avranno probabilmente molti account diversi da gestire, ed un aspetto importante di qualsiasi account è la sua password.

In questo piccolo articolo vi mostrerò come utilizzare il comando passwd , ma anche il modo di fare qualche piccolo script bash o utilizzare una applicazione web, nel caso in cui si disponga di un ambiente più complesso, come ad esempio un server centrale LDAP che mantiene tutte le informazioni sugli account.




1) Passwd

Il primo metodo per modificare la password di un account è il buono e vecchio passwd .
Il comando passwd cambia le password per gli account utente. Un utente normale può cambiare solo la password per il suo account, mentre il superutente (root) può cambiare la password per qualsiasi account.
passwd cambia anche il periodo di validità dell’account o della password associata.

Questo è l’utilizzo base di passwd come utente root che voglia cambiare la password dell’utente tom in modo interattivo:

[root@myhost ~]# passwd tom
Changing password for user tom.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.

Quindi basta usare il comando passwd seguito dal nome utente, e cambierete la sua password.

2) Chpasswd

Il comando chpasswd è utilizzato per cambiare la password di più utenti in modalità batch.

Il comando chpasswd legge un elenco di coppie nomi utente e password provenienti da standard input e utilizza queste informazioni per aggiornare un gruppo di utenti esistenti. Ogni linea è nel formato:

user_name:password

Per impostazione predefinita, le password devono essere fornite in chiaro, e sono cifrate da chpasswd.
Anche l’età della password verrà aggiornata, se presente.

# Chpasswd command is very simple to use 
[ root@myhost ~ ] # echo "tom:1234" | chpasswd
 
# Using the passwd command, you can also change the password in a batch like mode
[ root@myhost ~ ] # echo "1234" | passwd --stdin "tom" 
Changing password for user tom.
 passwd: All authentication tokens Updated successfully.

3) Utilizzare expect per costruire uno script interattivo

Expect è un programma che “parla” con altri programmi interattivi in base ad uno script. Dopo lo script, Expect sa cosa aspettarsi da un programma e quale dovrebbe essere la risposta corretta. Un linguaggio interpretato fornisce ramificazionei ad alto livello e strutture di controllo per dirigere il dialogo. Inoltre, l’utente può assumere il controllo e interagire direttamente quando desiderato, poi restituire il controllo allo script.

Così possiamo fare un semplice script chiamato changepasswd.sh che contiene qualcosa di simile a questo:

#!/bin/sh
# \
exec expect -f "$0" "$@"
if { $argc != 2 } {
    puts "Usage: $argv0  "
    exit 1
}
set password [lindex $argv 1]
spawn passwd [lindex $argv 0]
sleep 1
expect "assword:"
send "$password\r"
expect "assword:"
send "$password\r"
expect eof

E l’output sarà qualcosa di simile a questo:

[root@myhost ~]# ./changepasswd.sh tom 1234
spawn passwd tom
Changing password for user tom.
New password: 
BAD PASSWORD: it is too short
BAD PASSWORD: is too simple
Retype new password: 
passwd: all authentication tokens updated successfully.

4) Usare una applicazione Web

Se si dispone di un ambiente più grande, probabilmente si sta utilizzando un server LDAP per gestire centralmente tutti gli account, in questo caso le soluzioni di cui sopra non sono utili e avete bisogno di qualcosa che possa modificare la password sul server LDAP e che sia facilmente utilizzabile dagli utenti , suggerisco di dare un’occhiata al Progetto LTB .

Self Service Password è un’applicazione PHP che consente agli utenti di modificare la password in una directory LDAP.

L’applicazione può essere utilizzata su directory LDAPv3 standard (OpenLDAP, OpenDS, ApacheDS, Sun Oracle DSEE, Novell, ecc) e anche su Active Directory.

Ha le seguenti caratteristiche:

  • Samba mode per cambiare le password Samba
  • Modalità Active directory
  • Politiche per gli account locali
  • Lunghezza Massima/Minima
  • Caratteri proibiti
  • Contatori di caratteri Maiuscoli, Monuscoli, Speciali e Numeri
  • Verifica sul riuso della vecchia password
  • Complessità (Classi differenti di caratteri)
  • Messaggi di iauto
  • Azzera con una domanda
  • Azzera via email (token spedito per email)
  • Azzera con un SMS (Attraverso un servizio esterno Email 2 SMS )
  • reCAPTCHA (Google API)
  • Notifica di email dopo il cambio della password

tlb01

Riferimenti:

http://smilejay.com/2014/01/linux-change-password/

Popular Posts:

Flattr this!

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

*