Pagina 2 di 2

Re: Problema con uno script bash

Inviato: lun 27 set 2010, 10:42
da hashbang
spina ha spiegato cio` che volevo dire (scusami ma ieri sera mi stavo addormentando sulla tastiera :D). Con su -c all'interno dello script dovresti risolvere il problema. L'unica cosa che non ti so dire e` se si possono lanciare piu` comandi con un solo su -c (altrimenti per ogni su -c dovrai inserire la password di root).
Ma a questo si pone facilmente rimedio, come ha detto spina, con un "man su".

Re: Problema con uno script bash

Inviato: lun 27 set 2010, 10:48
da targzeta
Due note:
  • tutto quello che passi a '-c' viene eseguito, quindi:

    Codice: Seleziona tutto

    su user -c 'ls ~; ls ~'
    esegue due ls nella home directory dell'utente.
  • se si è root non si ha la necessità di inserire nessuna password per diventare un altro utente. Mi sembra di aver capito che in questo particolare (e strano) esempio sia l'utente root a voler diventare un utente normale.
Emanuele

Re: Problema con uno script bash

Inviato: lun 27 set 2010, 15:38
da scartozzo
In poche parole:
Ho una macchina sulla quale faccio delle prove con LFS.
Mi loggo come root e poi compilo la toolchain con l'utente lfs. (qui entra in ballo su - lfs)
Una volta finito con la toolchain devo ripassare il controllo all'utente root per un cambio di permessi e finalmente compilare il sistema di base in chroot.
Il problema che ho incontrato, per effettuare il tutto con una serie di script, rispetto alle mie conoscenze limita
1) script di preparazione della toolchain con utente lfs ---> la restituzione di controllo all'utente root
2) script per le finiture finiture con utente root ---> passaggio all'ambiente chroot e la prosecuzione senza dover rilanciare lo script.
3) script per la compilazione del sistema di base in chroot
Ovviamente non volevo utilizzare l'installatore jhalfs per motivi didattici.

Vi ringrazio per la pazienza e scusate se non ho presentato il problema nel suo complesso subito.

Re: Problema con uno script bash

Inviato: mar 28 set 2010, 21:15
da ficundiana
ciao.

se ho capito bene il problema credo che qualcosa del genere potrebbe fare al caso tuo:

su utente1 -c "sh /path/dello/script/da/eseguire/come/utente1 parametri"

così quando lo script termina ha di nuovo il controllo a chi ha lanciato su.