![]() |
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Linux RedHat, Ubuntu, SuSE, Fedora, Debian, Mandriva, Slackware, Gentoo Linux, PCLinuxOS. Alla Linux frågor här! |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| Jag vill lägga till lösenord i / etc / shadow fil | modgil | Shell-programmering och Skript | 5 | 03-22-2006 12:08 |
| Hur kan jag skicka via SFTP information med mitt lösenord krypterat? | irasela | Sun Solaris | 1 | 01-26-2006 09:29 |
| Byt lösenord genom att trycka krypterade lösenord till system | benq70 | UNIX for Dummies Frågor & Svar | 1 | 09-02-2005 10:08 |
| bort skugga lösenord | gizaa | UNIX for Dummies Frågor & Svar | 2 | 08-03-2004 08:30 |
| netrc fil krypterade lösenord | ggowrish | UNIX för avancerade & Expertanvändare | 2 | 06-17-2004 06:15 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd |
Omdöme:
|
Visningslägen |
|
|
|
||||
|
Tolkning av krypterade skugga lösenord?
Vi använder ett skript för att kopiera samma krypterade lösenord mellan våra HP-UX och Solaris-servrar redigera betrodda och skugga filer direkt. Den krypterade lösenord är bara 13 tecken på både servrar och dekrypterar samma sätt. Finns det något sätt att kopiera samma snöre till Linux servrar?
Den krypterade lösenord i skuggan fil på en av våra Linux-servrar ser ut så här: 1 $ 9EmV.jZO $ YyfdtPT11aP3hE.jqX7Ve0 Jag har läst kryptan 3 manualsidan men jag är inte säker på hur man intrepret det. Någon uppfattning om dess möjligt att ersätta 13 tecken i strängen för att dekryptera samma lösenord? |
|
||||
|
Du kan bara gå över till en Linux-box, som användarens lösenord och se resultatet i skuggan fil.
Jag vet inte om kryptering är identiska på de tre Unixes. Din fråga: kör någon form av skript för att uppdatera lösenord på distans. |
|
||||
|
Tack Jim för svar. Problemet är att den krypterade lösenord string på HP-UX och Solaris är 13 tecken långa. På Linux är det 34 tecken långa. Jag är inte säker på om det finns särskilda betydelser i dessa 34 tecken eller om det bara är en 26 tecken salt eller vad. Det vore trevligt om jag kunde på något sätt lista ut hur man använder 13 Teckensträng någonstans i Linux kryptering.
Vi har för närvarande ett förvänta skript för att ändra lösenord, men det är plågsamt långsam jämfört med scriptet jag skrev för HP och Sun. Jag ville införa Linux i detta script men kan inte lista ut hur man gör det. |
|
||||
|
Det enkla svaret är att identifiera de mest säkra och kompatibla hashing algorithm stöd från alla tre plattformar, sätta sig på detta och ändra system konfigurationer för att hedra denna algoritm och använda den för framtida lösenord generation. Då en metod för att generera lösenord för varje användare som använder samma salt på alla tre plattformar kan utarbetas tillsammans med ett sätt att generera användare passwd / skugga poster och sedan en metod för att lägga till dessa till lösenord / skugga filer på mål system.
Allt detta skulle kunna förenklas till en stor grad om central autentisering var i bruk, ala LDAP eller NIS, Om inte jag missförstånd. Annars är det en dålig mannens katalogtjänst |
|
||||
|
Vi använder Vintella för centrala tillstånd men inte använda den för root eller tillämpningen ID. I ett företag här stora ändrar några hashing algoritmer för lösenord inte är möjlig.
Det låter som jag är SOL. Jag kan skapa ett annat skript för att hantera just Linux-servrar men var verkligen hoppas att kunna göra det på ett manus. |
|
||||
|
. För din rot och appllication lösenord kan du alltid använda förväntar eller automatisk ssh att batchprocess passwd förändringar driver infödda plattformar passwd. Jag har använt förvänta sig för detta i det förflutna.
Kod:
proc manualChange {} {
global prompt spawn_id timeout
expect {
-i $spawn_id -re $prompt {
send_user "Logged in to host: $name as $username\n"
send "passwd\r\n"
expect -i $spawn_id -re ".*asswor.*" {
set new [getInput "Password change for $username on $name: "]
send "$new\r\n"
expect -i $spawn_id -re "\[Rr\]e.*asswor.*" {
send "$new\r\n"
expect -i $spawn_id -re "$prompt" { send_user "Password changed successfully for $name\n"
}
}
}
}
timeout {send_user "Timed out for spawn_id: $spawn_id\n"}
eof {send_user "Abnormal termination for spawn_id: $spawn_id"}
}
}
if {[llength $argv] < 2} {puts "Please provide:\n 1. username\n 2. list of hosts" ; exit}
set username [lindex $argv 0]
set hostlist [lrange $argv 1 [llength $argv]]
##main()
set prompt "[lindex $argv 0]@.*|.*[lindex $argv 0].*>|.*[lindex $argv 0].*#"
foreach name $hostlist {
if {![catch {eval spawn $loginprog $username@$name} err_spawn]} {
puts "Connecting to $name..."
expect {
-re $prompt {
send_user "Logged in to host: $name as $username\n"
send "passwd\r\n"
expect -i $spawn_id -re ".*asswor.*" {
set new [getInput "Password change for $username on $name: "]
send "$new\r\n"
expect -i $spawn_id -re "\[Rr\]e.*asswor.*" {
send "$new\r\n"
expect -i $spawn_id -re "$prompt" {
send_user "Password changed successfully for $name\n"
}
}
}
}
-re $pwprompt {
send_user "Log in manually and then press ^p to change password\n"
interact {
"^P" {manualChange}
}
}
timeout {send_user "Timed out waiting on $name\n"}
eof {send_user "Abnormal exit for connect() to host: $name\n"}
}
} else {
puts "ERROR: Connecting to host: $name = $err_spawn"
}
}
HTH. |