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.
Avatar utente
hashbang
Packager
Packager
Messaggi: 1944
Iscritto il: ven giu 04, 2010 10:27
Nome Cognome: Luca De Pandis
Slackware: Slackware64-current
Kernel: 4.4.12
Desktop: dwm
Distribuzione: Windows 10 Pro
Località: Lecce
Contatta:

Re: Problema con uno script bash

Messaggioda hashbang » lun set 27, 2010 10:42

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".
There's a certain kind of programmer who'll look at any problem and say, 'I know, I will use XML.' Now he has two problems.

Stack is the new term for "I have no idea what I'm actually using". [Erich Schubert]

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

Re: Problema con uno script bash

Messaggioda targzeta » lun set 27, 2010 10:48

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
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà 

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

Re: Problema con uno script bash

Messaggioda scartozzo » lun set 27, 2010 15:38

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 1.0
Linux 1.0
Messaggi: 15
Iscritto il: sab set 18, 2010 18:03
Slackware: 13.1
Kernel: 2.6.33-zen
Desktop: KDE

Re: Problema con uno script bash

Messaggioda ficundiana » mar set 28, 2010 21:15

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.


Torna a “Programmazione”

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti