[Samba-it] 'root preexec' madness... stallo con winexe
Marco Gaiarin
gaio at sv.lnf.it
Tue Nov 26 06:09:00 MST 2013
Samba3 di debian squeeze (2:3.5.6~dfsg-3squeeze10), winexe 1.00
compilato staticamente (repository opensuse build).
Da tempo immemore mi sono fatto uno scriptino/wrapper perl che usa
expect, e che eseguito sostanzialmente tenta di cambiare la password
di administrator del client. Lo share è:
# Local Administrator's Remote Password Change fake share
#
[larpch]
comment = Local Administrator's Remote Password Change
path = /var/cache/samba/larpch
guest ok = Yes
browseable = No
writable = No
write list = CAVA\root +CAVA\domadms +CAVA\ced
root preexec = /usr/local/sbin/larpch -w -m root %m
Lo script in precedenza sostanzialmente prendeva un elenco password (un
file una password per riga) e tentava di usare la password X (da 1 a N)
per cambiare la password e metterla alla numero N.
Il razionale: faccio un file con tutte le password, dalla più vecchia
alla più nuova, e prima o poi la aggiorno.
Triggero l'accesso allo share con WPKG.
Ultimamente ho complicato un po' lo script cercando di ''randomizzare''
la password con l'aiuto di winadminpassword:
http://sourceforge.net/projects/winadminpasswd/
ma siccome voglio il totale controllo lato server, uso winadminpassword
solo per reperire il serial della macchina remota, via winexe.
Nel mio script, dopo aver sbattuto la testa contro il muro, faccio
molto semplicemente:
my $s = `/usr/local/sbin/winexe_wap_wrapper $RHOST`;
dove /usr/local/sbin/winexe_wap_wrapper contiene:
#!/bin/sh
/usr/bin/winexe -s /etc/samba/winexe.conf -A /var/cache/samba/larpch/$1.cred //$1 'cmd /c "%ProgramFiles%\WinAdminPassword\printserial.bat"'
; '/etc/samba/winexe.conf' contiene:
[global]
wins server = 127.0.0.1
(altrimenti la risoluzione wins non funziona, ho wins server = yes).
Sia che esegua il comando direttamente, sia che lo esegua con il wrapper
'/usr/local/sbin/winexe_wap_wrapper' in console funziona tutto alla
perfezione, ovvero sia che esegua:
/usr/local/sbin/winexe_wap_wrapper <nomehost>
che
/usr/local/sbin/larpch -w -m root <nomehost>
tutto va alla perfezione. Se lo esegue invece samba in 'root preexec',
winexe va in stallo.
Inizialmente pensavo che fosse un problema di escaping/quiting, e la
realizzazone di tutti i wrapper è stata proprio un tentativo di
rimuovere ogni necessità di escaping.
Ma evidentemente è altro: che cosa può essere?
Aiuto, grazie.
--
dott. Marco Gaiarin GNUPG Key ID: 240A3D66
Associazione ``La Nostra Famiglia'' http://www.sv.lnf.it/
Polo FVG - Via della Bontà, 7 - 33078 - San Vito al Tagliamento (PN)
marco.gaiarin(at)lanostrafamiglia.it t +39-0434-842711 f +39-0434-842797
Dona il 5 PER MILLE a LA NOSTRA FAMIGLIA!
http://www.lanostrafamiglia.it/chi_siamo/5xmille.php
(cf 00307430132, categoria ONLUS oppure RICERCA SANITARIA)
More information about the samba-it
mailing list