Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Utility per la creazione degli utenti

Come creare i file utenti all'interno del server
Come creare i file utenti all'interno del server
Link copiato negli appunti

Adesso che sappiamo come concedere e vietare l'accesso a determinate
directory nei server, preoccupiamoci di come creare il file. Questo, a
differenza del file dei gruppi, conterrà delle righe nella quali è
specificato l'username e la password crittata, nella forma: username:password

Ma come creare le coppie utente-password? I metodi sono due.

Il primo nonchè il più complesso è quello di creare uno script del tipo:

#!/usr/bin/perl

print "Inserisci un username:n";
chomp($name=<STDIN>);
print "nInserisci la password per $name:n";
chomp($pwd=<STDIN>);
print "nConferma la password per $namen";
chomp($pwd_confirm=<STDIN>);
if ($pwd ne $pwd_confirm) {
# Le due password digitate non sono uguali
print "Conferma password per $nome non riuscitan";
exit;
} else {
open(PASSWD, ">> /etc/apache/passwd")
|| die "Non riesco ad aprire il file. $!n";

# Critta la passord
$crypted_pwd = crypt($pwd,'aa');
#Scrive la coppia username:pwd nel file
print PASSWD "$name:$crypted_pwd";
close PASSWD;
print "nOperazione riuscita!n";
}

Vediamo in dettaglio cosa fa lo script: dopo aver chiesto un nome e la
password, chiede conferma per la password: se la conferma ha esito
negativo, avverte della differenza fra le password digitate ed esce; in
caso contrario, apre il file che contiene le coppie username-password,
critta la password inserita e scrive nel file "nomeutente-password". Ad
operazione conclusa, chiude il file e avverte del successo
dell'operazione.

Lo script, soprattutto per chi si intende di programmazione, non è certo
un gioiello ma serve a svolgere il suo lavoro: se volete utilizzarlo,
sappiate che è necessario apportargli alcune modifiche come ad esempio
il controllo che un username non sia già presente nel file,
un'istruzione che in caso di fallimento della conferma della password
faccia in modo che lo script riparta dall'inizio ecc.

Il secondo metodo, invece, è quello di utilizzare l'utility htpasswd,
che crea ed aggiorna i file di autentificazione utilizzati da Apache.

La sintassi è assai semplice: htpasswd -c file username password

Il flag "-c" dice all'utility di creare il file delle password nel caso
questo non esista; ATTENZIONE che se il file esiste, verrà sovrascritto
con la conseguente perdita dei dati precedenti. Vediamo un paio di esempi: htpasswd -c /etc/apache/passwd user

creerà il file "/etc/apache/passwd" ed inserirà l'username "user" e chiederà la password (con conferma, anche in questo caso) per l'utente.

htpasswd /etc/apache/passwd user

si può comportare in due modi: se l'utente non esiste, inserisce
l'username e chiede la password; se invece l'utente esiste, htpasswd
capirà che vogliamo cambiare la password all'utente specificato,
chiedendocela.

E con questo, spero, avrete capito come utilizzare le autorizzazioni di
accesso con Apache per vietare ai non addetti l'accesso a determinate
directory del server della vostra rete o del server remoto.

Ti consigliamo anche