|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Oct 2003
Città: La Spezia
Messaggi: 962
|
automatizzare inserimento password
Ciao ragazzi,
avrei la necessità, usando samba e il suo tool smbpasswd, di inserire una quantità un po elevata di password. ho usato lo script mksmbpasswd.sh per creare il database smbpasswd con tutti gli utenti dentro: cat /etc/passwd |/etc/samba/mksmbpasswd.sh > /etc/samba/smbpasswd ora pero dovrei poter inserire le password, per ora uguali a tutti gli utenti, allo scopo ho gia predisposto uno script alla buona di test: #!/bin/bash gawk -F: '{ print $1 }' /etc/passwd > testpasswd for i in `cat /etc/samba/testpasswd` do echo "" echo "*** inserire password per $i ***" echo "" smbpasswd -a $i done con esso, prendendo gli user da /etc /passwd, vado ad inserire la pass all'interno del file precedentemente creato... tuttavia la pass come è giusto che sia mi viene richiesta a video. esiste un modo per cui io setto la passwd in una variabile e riesco a darla in pasto all'input che appare a video? mille tnx
__________________
![]() ![]() Gigabyte ga-p55-ud6 | Intel i7 860 | 2x2gb Corsair xms3 | Adaptec 2410sa | raid1 barracuda 500gb 7200.12 | Intel x25-m 80gb G2 | ATI radeon 4890 | tutto in downclock (non ho parenti all'enel) |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Eh eh non li freghi facilmente quelli...i programmi come smbpasswd richiedono un terminale, se usi un pipe sgamano...
Credo che occorrerebbe un programmino che crei un pts (pseudo-terminal) e tramite quello foraggi opportunamente smbpasswd...
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Oct 2003
Città: La Spezia
Messaggi: 962
|
tnx dell'intervento.
ho navigato in rete un bel po... ho trovato expect che mi permette di inserire passwd non interattivamente, ti faccio un esempio: #!/usr/bin/expect # $argv contiene tutti i parametri a riga di comando set cmd $argv # send_human occorre per l'opzione -h (human) di send set send_human {.1 3 1 .05 2} # Connessione automatizzata # lancia il client ftp per la connessione al server localhost spawn smbpasswd angelo # si aspetta un prompt del tipo "login: " expect "New SMB password: " # invia lo username send "angelo\n" # etc, etc. expect "Retype new SMB password: " send -h "angelo\n" #send -h "exit\n" non è molto intuitivo lo script, cmq funziona anche se un po lento. mi servirebbe ora automattizzare questo con i tanti utenti che ho da inserire. sono a piu di metà lavoro ghgh, ci posso riuscire. txn
__________________
![]() ![]() Gigabyte ga-p55-ud6 | Intel i7 860 | 2x2gb Corsair xms3 | Adaptec 2410sa | raid1 barracuda 500gb 7200.12 | Intel x25-m 80gb G2 | ATI radeon 4890 | tutto in downclock (non ho parenti all'enel) Ultima modifica di _YTS_ : 27-10-2005 alle 12:06. |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Oct 2003
Città: La Spezia
Messaggi: 962
|
ho scoperto altro...
da riga se do questo: (echo angelo; echo angelo) | smbpasswd -U angelo -s riesco a settare per l'utente angelo la passwd angelo. ora non mi resta unire tutta la roba che ho postato sin'ora, almeno spero... nel frattempo se avete idee ![]() ciaooo
__________________
![]() ![]() Gigabyte ga-p55-ud6 | Intel i7 860 | 2x2gb Corsair xms3 | Adaptec 2410sa | raid1 barracuda 500gb 7200.12 | Intel x25-m 80gb G2 | ATI radeon 4890 | tutto in downclock (non ho parenti all'enel) |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jun 2001
Città: Alessandria (provincia)
Messaggi: 4772
|
Ma il file delle password di samba è criptato o sono criptate solo le password?
Perché se non è criptato e le vuoi tutte uguali, non puoi bypassare mksmbpasswd e scrivere solo il primo utente da terminale, poi guardi com'è codificata la password e per tutti gli altri la aggiungi secca, senza intervenire. Quindi ti servirebbe uno script che prende gli utenti, li aggiunge al file di samba con la sintassi giusta e al momento di scrivere la password ci infili sempre la solita. Se poi samba usasse lo stesso algoritmo di hashing del sistema (MD5 o SHA) non potresti anche prendere da /etc/shadow le password e buttarle in samba così ognuno ha già le sue? Nota che ti sto parlando come uno che considera samba una black box, l'ho visto poco e formulo consigli ipotizzando alcune features di samba ![]() |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jun 2000
Città: S.Giuliano (MI)
Messaggi: 1047
|
ciao, anche se non è prettamente in topic ti segnalo che io uso debian e non c'è la possibilità di impostare la password di sistema passandola in uno script a passwd, mentre il passwd di redhat possiede questa possibilità, così ho creato un passwd-rh da installare su debian...
http://www.gurutech.it/debs/
__________________
“No te tomes tan en serio la vida, al fin y al cabo no saldrás vivo de ella” |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Oct 2003
Città: La Spezia
Messaggi: 962
|
ciao,
le passwd sono criptate nel formato seguente, es: angelo:1002:0853EE6196F3B6A2E68AA26A841A86FA:557E82AC54FB6161FDFC23E3064155C9:[U ]:LCT-435F9ADC:,,, e cosi via per ogni utente.... dunque: nell'ultimo post ho trovato il modo, tramite stringa, di cambiare la pass senza intervento alcuno. questo ha funzionato mettendo la passwd, in quel caso angelo, e l'user sempre angelo, nella stringa in questione. trattandosi di variabili, credo che lavorando un po su uno script si riesca a fargli prendere gli utenti da un elenco e impostare le passwd nello stesso modo. attendo vostri riscontri, mille tnx ciao
__________________
![]() ![]() Gigabyte ga-p55-ud6 | Intel i7 860 | 2x2gb Corsair xms3 | Adaptec 2410sa | raid1 barracuda 500gb 7200.12 | Intel x25-m 80gb G2 | ATI radeon 4890 | tutto in downclock (non ho parenti all'enel) |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Oct 2003
Città: La Spezia
Messaggi: 962
|
ecco lo script funzionante:
#!/bin/bash gawk -F: '{ print $1 }' /etc/passwd > testpasswd for i in `cat /etc/samba/testpasswd` do echo "" echo "*** inserire password per $i ***" echo "" (echo $i; echo $i) | smbpasswd -U $i -s done ovviamente assegno la stessa pass uguale all'user per ognuno. questo non mi piace, lo fatto per testare, ora farò o meglio cercherò di fare questo per garantire un minimo di sicurezza (veramente minimo): prendere le prime 4 lettere di ogni users e aggiungerci le altre 4 rimanenti (passwd di 8 caratteri) con un suffisso tipo 2005 o 005! vediamo.... a dopo spero, ciao
__________________
![]() ![]() Gigabyte ga-p55-ud6 | Intel i7 860 | 2x2gb Corsair xms3 | Adaptec 2410sa | raid1 barracuda 500gb 7200.12 | Intel x25-m 80gb G2 | ATI radeon 4890 | tutto in downclock (non ho parenti all'enel) |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:35.