[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