Visualizzazione risultati 1 fino 6 di 6

Discussione: Bash & Log-in

  1. #1
    L'avatar di madbad
    madbad non è connesso AlterVistiano
    Data registrazione
    25-08-2002
    Messaggi
    842

    Predefinito Bash & Log-in

    Mi sto (seppur lentamente) avvicinando alla "programmazione" (se cosi' si può dire) in bash.

    Per un piccolo proggetto che sto realizzando avrei bisogno di poter effettuare il Log-in come root per poi effettuare delle operazioni e quindi effettuare il log out.

    Se provo con il comando che uso di solito da shell e cioè "su" riesco a fare il log-in ma poi l'esecuzione dello script si ferma li (cioè dopo avermi chiesto la passwword ed aver effettuato con successo il log-in)

    Esiste un modo per riuscire ad effettuare il login senza fermare l'esecuzione deilo script??

  2. #2
    Guest

    Predefinito

    si, apri un'altra console, al momento di eseguire le operazioni root...

    ciao!!
    giaco

  3. #3
    Guest

    Predefinito

    non ho capito bene. stai cercando forse un programma come sudo?

  4. #4
    L'avatar di madbad
    madbad non è connesso AlterVistiano
    Data registrazione
    25-08-2002
    Messaggi
    842

    Predefinito

    Visto che non riesco a spiegarvelo meglio passiamo all'esempio pratico:


    File test.sh
    Codice:
    #!/bin/bash
    echo "Cambio le proprieta di tutti i file contenuti nella cartella corrente..."
    echo "Effettuo il Login da root..."
    su
    echo "login effettuato"
    #e qui lo script continua...
    e questo è quello che la shell mi sputa fuori...
    Codice:
    *****@vector ***** $ ./test.sh
    Cambio le proprieta di tutti i file contenuti nella cartella corrente...
    Effettuo il Login da root...
    Password: 
    root@vector ***** #
    dove ***** rappresenta l'user che sto usando in quel momento e la sua HomeDir

    Come potete vedere lo script si ferma dopo che ho inserito la password (in teoria infatti dovrebbe printare login effettuato) (ps. su è l'equivalente di sudo se non sbaglio)
    Ultima modifica di madbad : 09-08-2005 alle ore 16.49.47

  5. #5
    Guest

    Predefinito

    dovresti usare sudo. io purtroppo su questo non so aiutarti, perché non mi sono mai interessato molto.

    dopodiché, esegui i comandi con: sudo comando

    non sono molto esperto sul bash scripting, però questo è un metodo poco elegante ma funzionale

  6. #6
    L'avatar di radioradianti
    radioradianti non è connesso Utente storico
    Data registrazione
    26-11-2003
    Residenza
    Roma
    Messaggi
    1,000

    Predefinito

    Allora, arrivo un pochino in ritardo, avevo un bel po' di cose da fare ultimamente :winkOLD:

    Vediamo un po' se posso aiutarti a risolvere il tuo problema.
    Come ha già detto Rommel puoi utilizzare il comando "sudo".
    Questo comando ti permette di eseguire altri comandi (scusa il gioco di parole) con i permessi di utente root.

    Per poter utilizzare sudo devi prima configurarlo.
    Il file di configurazione si chiama sudoers e si trova nella cartella /etc.

    Come al solito consiglio di leggere un po' il man prima di effettuare modifiche.
    Intanto però ti scrivo una base che può tornarti utile per il tuo script.

    Composizione del file sudoers
    Codice:
    # User alias specification
    # Qui va specificato un alias per i vari utenti in modo
    User_Alias TEST  = utente1,utente2,utenteX
    
    # Cmnd alias specification
    # In questa sezione puoi specificare i comandi che posso essere eseguiti
    # un esempio è la riga sottostante
    Cmnd_Alias WEB_START=/etc/rc.d/rc.httpd start
    
    # User privilege specification
    # In questa sezioe sono elencati i privilegi dei vari utenti
    # root esegue tutto!
    root ALL=(ALL) ALL
    
    #Il gruppo di utenti TEST può soltanto far partire il demone httpd
    TEST ALL=WEB_START

    a questo punto salvi tutto e dai i permessi 0440 al file sudoers

    chmod 0440 sudoers
    Il tuo file di configurazione per sudo è ora pronto, non ti resta che inserire all'interno del tuo script, quando vuoi eseguire il comando come root la seguente stringa :

    Codice:
    sudo -u root [comando da eseguire]
    terminati i tuoi comandi vari inserisci sempre all'interno del tuo script questa riga:

    Codice:
    sudo -k
    serve per "svuotare la cache prima del tempo", in modo tale che al prossimo utilizzo ti richieda nuovamente la password.

    ATTENZIONE
    1 - Studiati bene i comandi da far eseguire, le rogne sono ovunque e rischi di compromettere la sicurezza.
    2 - La password da presentare alla richiesta, NON E' QUELLA DI ROOT, ma quella dell'utente che ha lanciato lo script.

    Spero di essere stato d'aiuto.

    Ciao

    Leandro

    Happy Slack!

    E' on line il numero 12 di Topolinux - Totalmente rinnovato!
    TopoLinux è anche chat! irc.azzurra.org canale #topolinux
    La semplicità di questo dono è inversamente proporzionale alla qualità della nostra amicizia

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •