![]() |
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| Linux RedHat, Ubuntu, SUSE, Fedora, Debian, Mandriva, Slackware, Gentoo Linux, PCLinuxOS. Alle Linux spørsmål her! |
Mer UNIX og Linux Forum Emner Du kan finne nyttig
|
||||
| Tråd | Tråd startet | Forum | Svar | Siste innlegg |
| Jeg ønsker å legge passord i / etc / shadow fil | modgil | Shell programmering og Skripting | 5 | 03-22-2006 12:08 |
| Hvordan kan jeg sende via SFTP med passordet kryptert? | irasela | Sun Solaris | 1 | 01-26-2006 09:29 |
| Endre passord ved å skyve krypterte passord til systemer | benq70 | UNIX for Dummies Spørsmål og svar | 1 | 09-02-2005 09:08 |
| fjerne skyggen passord | gizaa | UNIX for Dummies Spørsmål og svar | 2 | 08-03-2004 07:30 |
| netrc filen kryptert passord | ggowrish | UNIX for Advanced & ekspertbrukere | 2 | 06-17-2004 05:15 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden |
Vurdering:
|
Visningsmoduser |
|
|
|
||||
|
Tolke kryptert shadow passord?
Vi er for øyeblikket bruker et skript til å kopiere de samme krypterte passord mellom HP-UX og Solaris-servere redigere klarert og skygge filer direkte. Den krypterte passord er bare 13 tegn på både servere og dekrypterer på samme måte. Er det en måte å kopiere den samme strengen til Linux-servere?
Den krypterte passord i skyggen fil på en av våre Linux servere ser slik ut: 1 $ 9EmV.jZO $ YyfdtPT11aP3hE.jqX7Ve0 Jeg har lest CRYPT 3 mann siden, men jeg er ikke sikker på hvordan du intrepret det. Noen ide om det er mulig å erstatte 13 tegn i denne strengen til å dekryptere den samme passordet? |
|
||||
|
Du kan bare gå over til en Linux-boks, sette brukerens passord og se resultatet i skyggen fil.
Jeg vet ikke om kryptering er identisk på de tre UNIXene. Ditt andre valg: kjøre noen form for skript for å oppdatere passord eksternt. |
|
||||
|
Takk Jim for svar. Problemet er at den krypterte passord strengen på HP-UX og Solaris er 13 tegn. På Linux er det 34 tegn. Jeg er ikke sikker på om det er spesielle betydninger i disse 34 tegn, eller om det bare er en 26 tegn salt eller hva. Det ville være fint om jeg kunne annet finne ut hvordan du bruker 13 Tegnstreng sted i Linux kryptering.
Vi har for tiden en forvente skript for å endre passord, men det er smertelig trege sammenlignet med manuset jeg skrev for HP og Sun. Jeg ønsket å innlemme Linux i dette skriptet, men kan ikke finne ut hvordan du gjør det. |
|
||||
|
Det enkle svaret er å identifisere de mest sikre og kompatibel hashing algoritme som støttes av alle de tre plattformene, avgjøre om dette og endre systemer konfigurasjonene til ære denne algoritmen og bruke den for fremtidig passord generasjon. Deretter en metode for å generere passord for hver bruker som bruker samme salt på alle tre plattformene bli utviklet sammen med en måte å generere brukere passwd / shadow oppføringer og en metode for å legge disse til passord / shadow filer på målet systemer.
Alt dette ville være forenklet i stor grad om sentral godkjenning var i bruk, ala LDAP eller NIS, Med mindre jeg misforståelse. Ellers er det en fattig mann katalog service |
|
||||
|
Vi bruker Vintella for sentrale godkjenningen men ikke bruker det på rot eller program IDer. I en bedrift dette store endre noen hashing algoritmer for passordene er ikke gjennomførbart.
Det høres ut som jeg Sol. Jeg kan lage en annerledes skript for å håndtere nettopp Linux servere, men var virkelig håper å kunne gjøre det i et skript. |
|
||||
|
. For din rot og appllication passord kan du alltids bruke forvente eller automatiserte ssh for satsvis prosess passwd endringer driver native plattformer passwd. Jeg har brukt forvente for dette i det siste.
Code:
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. |
![]() |
| Hugseliste |
| Tags |
| linux, solaris |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|