'>'Subject: (linux-br)Script para alterar senha de root
'>'
'>'
'>'Tentei criar um script para alterar a senha de root
'>'mas n?o consegui. Algu?m j? fez isso ou sabe como
'>'fazer???
'>'
'>'Obrigado
Sim, eu ja fiz um script em perl pra fazer isso. Ele altera senhas de usuarios
FTP no sistema, mas se editado pode alterar a senha root, o script eh grandinho
porque realiza outras funcoes tambem, entao vou te colar algumas partes:
my $shadow = "";
open(R,$passwd);
while (<R>) {
if ( $_ =~ /^$login:/ ) {
my ($user,$pass,$resto) = split(/:/,$saida,3);
my $newpass = crypt($senha,substr $user,0,2);
print "crypt($senha," . substr $user,0,2 . ")\n";
$shadow .= $user . ':' . $newpass . ':' . $resto;
} else {
$shadow .= $_;
}
} # fim while
close(R);
A funcao crypt() criptografa a string definida pelo usuario e a variavel
$shadow armazena essa string criptografada que ja vai ser a entrada para
o arquivo /etc/shadow.
Essa parte:
open(W,"> $passwd");
print W $shadow;
close(W);
Apenas insere a string no arquivo /etc/shadow
E a parte a seguir:
open(FILE_PASSWD, "</etc/passwd");
open(FILE_PASSWD_TMP, ">passwd.tmp");
while(<FILE_PASSWD>) {
if ($_ =~ /$login/) {
$_ =~ s/bash/false/g;
print(FILE_PASSWD_TMP "$_");
} else {
print(FILE_PASSWD_TMP "$_");
}
}
system("/bin/cat passwd.tmp > /etc/passwd");
unlink("$FILE_PASSWD_TMP");
Inclui as entradas necessarias no arquivo /etc/passwd que sendo usuarios
ftp seu login eh /bin/false.
Espero que voce possa adaptar o script a voce , o link onde ele pode ser
encontrado :
http://www.vivaolinux.com.br/scripts/verFonte.php?codigo=534&arquivo=altera_tudo.pl
Flw
---------------------------------------------------------------------------
Esta lista � patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br
Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utiliza��o da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html