Mandi! Alessandro Rubini
  In chel di` si favelave...

> "-f" segue i fork. E "-p <pid>" si collega ad un processo gia` in
> esecuzione. "man strace".

Quante cose si imparano... ;-)


> L'utente senza shell e` irrilevante. Come dicevo, "diagnosi sbagliata.

E di brutto. Il comando non viene eseguito dallo storage daemon, quindi da
utente 'bacula', ma direttamente da 'vchanger', eseguito dentro degli script
per udev, quindi eseguiti da root.


Infatti se lo eseguo DA ROOT con strace con:

        root@sdpve2:~# strace -f /usr/bin/vchanger --force 
/etc/vchanger/SDPVE2RDX.conf refresh

fa correttamente il fork, esegue bconsole, la quale ad un certo punto:

 [pid 22011] openat(AT_FDCWD, "/etc/bacula/bconsole.conf", O_RDONLY|O_CLOEXEC) 
= -1 EACCES (Permission denied)

Come può qualcosa eseguito come root NON avere i permessi di accesso a un
file? Se serve la chiamata a clone() prima del'execve() è:


 22729 clone(child_stack=NULL, 
flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, 
child_tidptr=0x7fb0f063ea90) = 22746
 [...]
 22746 execve("/usr/sbin/bconsole", ["/usr/sbin/bconsole", "-n", "-u", "30"], 
0x7ffcab66de30 /* 20 vars */) = 0

-- 
  Mentre il cuore d'Italia, da Palermo ad Aosta
  si gonfiava in un coro di vibrante protesta           (F. De Andre`)


Rispondere a