Software > iné OS
Script na reset hesla ROOTa
Script na reset hesla ROOTa na viacerých linuxových serveroch súčasne. V podstate keďže sa v poslednej dobe venujem skôr platforme *nix a potreboval som zmeniť heslo na viacerých serveroch hľadal som po internete a našiel som scriptík. Tento script v PERL zmení heslá ROOTa na viacerých serveroch. Testované na CentOS, Redhat.
Takže čo k tomu budete potrebovať? Perl module: Net::SSH::Expect
Samozrejme je nutné aby ste mali ROOT oprávnenia Na serveri, kde budete script spúšťať vytvorte súbor serverlist.txt a napíšte zoznam serverových ip adries.
Príklad:
192.168.0.1 192.168.0.2 192.168.0.3
atd.
Následne si napíšte nasledovný script:
#!/usr/bin/perl use Net::SSH::Expect; $oldpass = $ARGV[0]; $newpass = $ARGV[1]; chomp $newpass; sub connect($$) { $password=shift; $server=shift; chomp $server; chomp $password; $ssh = Net::SSH::Expect->new ( host => $server, password=> $password, user => 'root', raw_pty => 1, timeout => 30 ); &login($ssh) } sub login($) { eval { $login_output = $ssh->login(); }; if ($@) {print "$server not found\n"; next; }; if ($login_output !~ /Last/) { print "Login password error for server $server , please enter the password: "; $inputpass = ; &connect($inputpass,$ip) } else { # &resetpass(); $ssh->send("passwd"); $ssh->waitfor(':\s*\z', 10) or warn "$server - Error 'New password:' prompt not found\n"; $ssh->send("$newpass"); $ssh->waitfor(':\s*\z', 10) or warn "$server - Error 'Confirm new password:' prompt not found\n"; $ssh->send("$newpass"); $ssh->waitfor('#\s*\z', 10) or warn "$server - Error 'Prompt not found after reset:'\n"; print "$server new password is \t $newpass\n"; $ssh->close(); } } open (SERV,"serverlist.txt") || die "ERROR: Unable to open Serverlist file $! \n"; while ( $ip = ) { sleep 2; &connect($oldpass,$ip); }
Spustite script
./passwordreset.pl
Script prevedie automatické nalogovanie a zmení heslá ROOTa na serveroch v danom zozname v súbore serverlist.txt
PS: vopred uvediem že je to použiteľné iba pri tom, ak na každom serveri je rovnaké heslo. Z hľadiska bezpečnosti to nie je najoptimálnejšie ale....
Pôvodne spracované pre BlackHole
|