Problema con uno script bash

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
hashbang
Packager
Packager
Messaggi: 2021
Iscritto il: ven 4 giu 2010, 10:27
Nome Cognome: Luca De Pandis
Distribuzione: macOS/OpenBSD
Località: Lecce/Bergamo

Re: Problema con uno script bash

Messaggio 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".

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6631
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Problema con uno script bash

Messaggio 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
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
scartozzo
Packager
Packager
Messaggi: 254
Iscritto il: mar 8 feb 2005, 0:00
Nome Cognome: Flavio Gallucci
Kernel: 3.19
Desktop: fluxbox
Distribuzione: ScarTOzzoLinux
Località: Torino

Re: Problema con uno script bash

Messaggio 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.

ficundiana
Linux 0.x
Linux 0.x
Messaggi: 15
Iscritto il: sab 18 set 2010, 18:03
Slackware: 13.1
Kernel: 2.6.33-zen
Desktop: KDE

Re: Problema con uno script bash

Messaggio 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.

Rispondi