[Samba-it] samba, smbd ed i misteriosi processi variabili

Simone iceee2k3 at gmail.com
Tue Nov 9 10:51:21 MST 2010


Ciao a tutti,

 ho da poco notato un comportamento anomalo legato all'avvio di
samba[1]: dopo aver arrestato/avviato il servizio, se provo ad
eseguire un comando rpc, incappo *spesso* nel seguente errore :

  Could not connect to server 127.0.0.1
  Connection failed: NT_STATUS_CONNECTION_REFUSED

Dico *spesso* perchè, ripetendo la stessa sequenza di comandi[2] più
volte, il problema non sempre si presenta.
Dopo una serie di prove, ho notato che i comandi net funzionano SOLO
quando sul sistema risultano attivi attivi 2 processi[3] smbd. Se a
seguito del lancio di "/etc/init.d/samba start" viene lanciato un solo
processo smbd, l'esecuzione dei comandi net fallisce.
Provando a lanciare un ulteriore "/etc/init.d/samba start" i processi
tornano ad essere 2 ed i comandi net funzionano.
(accodo la script[4] che ho usato per riprodurre il problema.)


Qualcuno può aiutarmi a svelare l'arcano? :)

Grazie in anticipo!
 Simone



[1] Info sistema

  Sistema in uso: Debian Lenny 5.0.4
  Pacchetti samba: samba 2:3.2.5-4lenny13, samba-common 2:3.2.5-4lenny13

[2] Se quenza comandi eseguita

  1. Arresto samba :
    /etc/init.d/samba stop

  2. Avvio samba :
    /etc/init.d/samba start

  3. Lancio un comando rpc qualunque:
    net -Uadministrator%mypw rpc rights list


[3] Processi rilevati

  DOPO lancio di "/etc/init.d/samba start", quando i comandi net FUNZIONANO :
   processi nmbd trovati: 16090
   processi smbd trovati: 16092 16102

  DOPO lancio di "/etc/init.d/samba start", quando i comandi net NON
funzionano :
   pgrep nmbd trovati: 16090
   pgrep smbd trovati: 16092


[4] Script che riproduce il problema

  function baco_base(){
    /etc/init.d/samba stop
    echo -e "==DOPO stop_samba:\n pgrep nmbd: $(pgrep nmbd)\npgrep
smbd: $(pgrep smbd)"
    echo -e "==/var/run/samba/*.pid:\n $(cat /var/run/samba/*.pid)"

    /etc/init.d/samba start
    echo -e "==DOPO start_samba:\n pgrep nmbd: $(pgrep nmbd)\npgrep
smbd: $(pgrep smbd)"
    echo -e "==/var/run/samba/*.pid:\n $(cat /var/run/samba/*.pid)"

    echo -e "==test cmd rpc:\n"
    net -Uadministrator%mypw rpc rights list

    echo "\nSi fixa rilanciando lo start di samba "

    /etc/init.d/samba start
    echo -e "==DOPO start_samba:\n pgrep nmbd: $(pgrep nmbd)\npgrep
smbd: $(pgrep smbd)"
    echo -e "==/var/run/samba/*.pid:\n $(cat /var/run/samba/*.pid)"

    echo -e "==test cmd rpc:\n"
    net -Uadministrator%mypw rpc rights list
  }



More information about the samba-it mailing list