Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858

    [slack] creare script shell per eseguire processo come altro utente

    ciao a tutti, devo creare uno script per eseguire in sequenza questi comandi:
    codice:
    rm /tmp/xmms_marketto.0
    rm /tmp/xmms_root.0
    su marketto
    noxmms /lista.m3u &
    exit
    ln -s /tmp/xmms_marketto.0 /tmp/xmms_root.0

    ho creato un file rc.xmms:
    codice:
    #!/bin/sh
    rm /tmp/xmms_marketto.0
    rm /tmp/xmms_root.0
    su marketto
    noxmms /lista.m3u &
    exit
    ln -s /tmp/xmms_marketto.0 /tmp/xmms_root.0
    xò nn funziona

    come posso fare?? vorrei poter eseguire noxmms come utente marketto..



    think simple think ringo

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    ho impostato come proprietario del file noxmms l'utente marketto, ed inoltre ho settato il SUID per noxmms, xò viene eseguito lo stesso come root quando lo eseguo da root.

    think simple think ringo

  3. #3
    Utente di HTML.it L'avatar di chaosd
    Registrato dal
    Mar 2004
    Messaggi
    1,282
    ma non basta dare come owner root e come gruppo ad es users, e marketto deve fare parte del gruppo users, poi se ti logghi come marketto e fai partire l'eseguibile dovrebbe fare quello che dici tu
    <Girls are like Internet Domains: the ones you like are already taken, but you can still get one from a strange country!>

    Computers are like conditioned air: they stop work properly when you open windows

    Livin' on: Kubuntu + 2.6.24.2

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    si, così funziona, xò non è quello che serve a me


    devo eseguire quel programma con lo stesso utente con cui eseguo il webserver apache.
    ora apache viene eseguito come utente marketto, di conseguenza devo poter avviare anche noxmms come utente marketto. la procedura deve essere del tutto automatica, ovvero inserita dentro un script shell da eseguire all'avvio della macchina.

    think simple think ringo

  5. #5
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    ho risolto
    think simple think ringo

  6. #6
    Utente di HTML.it L'avatar di lupix
    Registrato dal
    Nov 2004
    Messaggi
    59
    Postare la risposta no eh??

  7. #7
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    Originariamente inviato da lupix
    Postare la risposta no eh??
    certo, ora arriva...

    il webserver parte come nobody, nell'rc.local ho messo il link a questo script:
    codice:
    # /usr/bin/start_noxmms
    TMPDIR=/tmp;export TMPDIR
    TMP=/tmp;export TMP
    if [ -e /tmp/xmms_root.0 ]; then
        rm /tmp/xmms_root.0
    fi
    if [ -e /tmp/xmms_nobody.0 ]; then
        rm /tmp/xmms_nobody.0
    fi
    /usr/local/bin/noxmms /lista.m3u &
    sleep 1
    chown nobody.nobody /tmp/xmms_root.0
    chmod 777 /tmp/xmms_root.0
    if [ -z /tmp/xmms_nobody.0 ]; then
        ln -s /tmp/xmms_root.0 /tmp/xmms_nobody.0
    fi
    chown nobody.nobody /tmp/xmms_nobody.0
    chmod 777 /tmp/xmms_nobody.0
    ho scoperto quindi che per funzionare nn occorre far partire noxmms dall'utente del webserver, ma bensì sistemare il proprietario del link simbolico.

    ora, tramite una semplice interfaccia in PHP, riesco a controllare la riproduzione degli mp3 sul server locale...

    link:
    noxmms: http://xmmsd.sourceforge.net/noxmms/
    xmms-shell: http://freshmeat.net/projects/xmms-shell/
    piccola documentazione: http://www.draconidigital.com/da/manual.html


    think simple think ringo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.