eseguire programmi con credenziali di un altro utente

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
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.
Rispondi
Avatar utente
whites11
Linux 4.x
Linux 4.x
Messaggi: 1147
Iscritto il: ven 30 set 2005, 13:54
Località: Udine

eseguire programmi con credenziali di un altro utente

Messaggio da whites11 »

Ciao e buon natale a tutti!
vorrei eseguire dei demoni all'avvio di sistema, ma necessito di farli avviare con le credenziali di un utente, ma mettendo il comando in rc.local il demone è eseguito dall'utente root, come fare?

mr_hyde
Linux 0.x
Linux 0.x
Messaggi: 66
Iscritto il: dom 5 nov 2006, 14:02
Slackware: current (>= 13)
Località: Genova

Messaggio da mr_hyde »

Mai provato di persona:

Codice: Seleziona tutto

su utente -c comando
e editando /etc/suauth per fare in modo di evitare di chiedere la password, se necessario (ma rc.local dovrebbe essere eseguita da root, quindi non credo ti chiedera' la password)

Pero' forse dovresti dirci cosa vuoi far eseguire in rc.local con credenziali diverse da root, giusto per vedere se il tuo approccio e' corretto.
Ciao,
Mr Hyde

Avatar utente
whites11
Linux 4.x
Linux 4.x
Messaggi: 1147
Iscritto il: ven 30 set 2005, 13:54
Località: Udine

Messaggio da whites11 »

perfetto, funziona! grazie!
ho creato un serverino di scarrrrrricamento h24 e vorrei che mi facesse partire amuled e amuleweb con credenziali di utente normale (scelta saggia,non credi?)

Avatar utente
whites11
Linux 4.x
Linux 4.x
Messaggi: 1147
Iscritto il: ven 30 set 2005, 13:54
Località: Udine

Messaggio da whites11 »

ok, non è così perfetto!!! :(
ho inserito in rc.local le righe:

Codice: Seleziona tutto

su utente -c amuled & >/home/utente/amuled.log
sleep 5
su utente -c amuleweb & >/home/utente/amuleweb.log
purtroppo, però, mentre amuled funziona perfettamente, amuleweb non funziona in background! solo che se ci tolgo il "&" ovviamente il sistema non parte correttamente e non mi offre shell di login, cosa quest non fondamentale per una macchina monitor-less, però...
avete idee?

Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

Messaggio da Dani »

Se non sbaglio in quel modo non lo mandi in background, ma invii l'output (stdout e stderr) nel file di log.

Prova a modificare la riga così:

Codice: Seleziona tutto

su utente -c amuleweb &>/home/utente/amuleweb.log &

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3975
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Messaggio da Paoletta »

whites11 ha scritto:

Codice: Seleziona tutto

su utente -c amuled & >/home/utente/amuled.log
sleep 5
su utente -c amuleweb & >/home/utente/amuleweb.log
tra l' altro usando bash ho fatto una prova con

Codice: Seleziona tutto

du & &>file
e ho notato che così non redirigi output ed error dove vorresti perchè l'esecuzione del comando parte prima della redirezione;

per cui io userei questa sintassi:

Codice: Seleziona tutto

su utente -c amuled &>/home/utente/amuled.log &
sleep 5
su utente -c amuleweb &>/home/utente/amuleweb.log &
la sintassi corretta per redirigere output ed error è quella che ho usato io sopra (senza spazi tra & e >)

Avatar utente
whites11
Linux 4.x
Linux 4.x
Messaggi: 1147
Iscritto il: ven 30 set 2005, 13:54
Località: Udine

Messaggio da whites11 »

grazie per le risposte, provo e vi faccio sapere

Avatar utente
whites11
Linux 4.x
Linux 4.x
Messaggi: 1147
Iscritto il: ven 30 set 2005, 13:54
Località: Udine

Messaggio da whites11 »

ok, ho semirisolto:
rc.local ora è così:

Codice: Seleziona tutto

su scarricatore -c amuled &
sleep 5
su scarricatore -c amuleweb
il redirect l'ho tolto perchè non funzionava...(comunque non è un problemone...
ho dovuto togliere anche il backgrounding del secondo comando pena il non funzionamento del comando stesso....il perchè non lo conosce nessuno!
comunque sia, rc.local dovrebbe essere l'ultimo script eseguito all'avvio dalla macchina, quindi il fatto che il terminale rimanga occupato da amuleweb non dovrebbe essere un problema.
grazie a tutti!

Avatar utente
gioco
Packager
Packager
Messaggi: 900
Iscritto il: dom 19 giu 2005, 0:00
Slackware: last stable
Località: in the court of the Wesnoth king
Contatta:

Messaggio da gioco »

Per usare le redirezioni prova a scrivere il comando fra ".

Rispondi