admin Founder


Registrato: Oct 03, 2008 Messaggi: 261
|
Inviato: Gio Apr 23, 2009 2:30 pm Oggetto: Rimuovere password da un utente (under Linux) |
|
|
+---------------------------------------------------------+
- -
- Tutorial: Rimuovere password da un utente (under Linux) -
- Author: darkjoker -
- Site: http://darkjokerside.altervista.org -
- -
+---------------------------------------------------------+
Puo succedere di dimenticare la password di root, e per risolvere senza
formattare nulla esiste un metodo abbastanza semplice.
Prima di tutto bisogna procurarsi una live di Linux, qualunque versione che
contenga un interprete Perl e' perfetta.
Una volta avviata, se non viene fatto automaticamente, bisogna montare l'hard
disk sul quale si trova Linux (la versione installata su pc).
# mkdir /mnt/hd
# mount /dev/hda2 /mnt/hd
Nel mio caso la partizione in cui si trova Linux e' /dev/hda2, ma differira' da
computer a computer.
Una volta montato basta lanciare questo script:
| Codice: | #!/usr/bin/perl
# Author: darkjoker
sub usage {
die "Usage: perl $0 <harddisk_mount_path> [username
(default:root)]\n";
}
$mnt = shift or usage;
$user = shift or $user = "root";
open PASSWD, "<" . $mnt . "/etc/passwd" or die "Not allowed.\n";
@data = <PASSWD>;
close PASSWD;
open PASSWD, ">" . $mnt . "/etc/passwd";
foreach (@data){
if ($_ =~ /^$user:/){
$_ =~ s/:x:/::/;
}
print PASSWD $_;
}
close PASSWD;
print "Done.\n"; |
Con la sintassi richiesta, ossia:
# perl script.pl /mnt/hd root
Una volta fatto cio', riavviare e accedere da Linux con username root e nessuna
password.
In poche parole questo script in perl va a modificare il file /etc/passwd,
ossia il file all'interno del quale sono memorizzati i dati degli utenti.
Il file /etc/passwd ha, per ogni utente, una sintassi simile:
| Codice: | | root:x:0:0:root:/root:/bin/bash |
ossia:
| Codice: | | username:password:uid:gid:home:shell |
Al posto di password, normalmente troviamo una 'x' se essa e' settata (la si
trova all'interno del file /etc/shadow criptata) o un'* se la password non e'
settata o non e' valida.
Lo script semplicemente sostituisce la x con nulla, in modo che per l'utente
root non risulti nessuna password.
Niente di speciale come tutorial, ma penso possa tornare utile a qualcuno .
darkjoker[/code] |
|