Orbene, il comando in questione, eseguito con execvp() da qui:
        https://sourceforge.net/p/vchanger/code/ci/master/tree/src/mypopen.c
pp#l299
fallisce (rc=1).
fallisce (rc=1).Hai verificato quale comando viene eseguito? Il primo argomento della execvp()
deve essere un file binario, oppure uno di testo che inizi con «#!interpreter [optional-arg]» e dove «interpreter» dovrebbe essere un percorso (assoluto?) relativo ad un file binario.
Inoltre, prima della execvp(), c'è una chiamata a vlog.Debug(). Cosa c'è scritto nel debug? Il file eseguito è quello corretto?
Perche` exec non ritorna. E se tornasse la funzione tornerebbe -1, non 1. "rc" = return command. Qui e` il processo figlio che fa exit(1).
Consiglio di guardarlo con "strace -f" per vedere cosa fa il processo
figlio e perche` termina male.
Consiglio di guardarlo con "strace -f" per vedere cosa fa il processo
figlio e perche` termina male.
OK, ma stiamo parlando di un binario eseguito all'interno di un servizio (bacula-sd): come posso 'strecciarlo'? ;-)
(non credo che Bacula sia l'unico software che esegue un
altro software al suo interno, da utente senza shell...)
"-f" segue i fork. E "-p <pid>" si collega ad un processo gia` in
esecuzione. "man strace".
L'utente senza shell e` irrilevante. Come dicevo, "diagnosi sbagliata.
Ho un nuovo mistero, e ancora tanta curiosità... ;-)
Come può qualcosa eseguito come root NON avere i permessi di accesso a un
Cosa non capisco?!
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 299 |
Nodes: | 16 (2 / 14) |
Uptime: | 83:09:35 |
Calls: | 6,696 |
Calls today: | 1 |
Files: | 12,229 |
Messages: | 5,347,918 |