Autore Topic: lanciare un processo come altro utente  (Letto 2637 volte)

Offline pinocchio

  • Full Member
  • ***
  • Post: 144
    • Mostra profilo
lanciare un processo come altro utente
« il: 19 Agosto 2009, 11:24:54 »
ciao..

non riesco a capire come funziona sudo!
invece di usarlo come al solito, ovvero per impersonare root, devo usarlo per impersonare un utente senza privilegi e il suo ambiente

l'ambiente nel particolare è quello di zimbra: devo avviare come utente "zimbra" e lanciare il suo script di arreso "zmcontrol stop", fare un tar di una cartella (come root!), quindi lanciare nuovamente "zmcontrol start" come zimbra

purtroppo però
sudo -u zimbra zmcontrol start
mi dice che
sudo: zmcontrol: command not found

potrei risolvere con
sudo -u zimbra /opt/zimbra/bzmcontrol start
ma preferirei avere a disposizione tutto l'ambiente, la shell, le variabili  etc tipiche dell'utente zimbra per lanciare questo (e sopratutto altri) comandi
(vai a sapere se questa "leggerezza" in futuro con qualche aggiornamento un domani non "rompe" qualcosa!)

vi ringrazio

Offline dankan77

  • Moderator
  • Hero Member
  • *****
  • Post: 1365
    • Mostra profilo
    • E-mail
Re: lanciare un processo come altro utente
« Risposta #1 il: 19 Agosto 2009, 11:54:33 »
Inserire il path completo di un applicativo per il sudo è d'obbligo.


Ciao

Offline pinocchio

  • Full Member
  • ***
  • Post: 144
    • Mostra profilo
Re: lanciare un processo come altro utente
« Risposta #2 il: 19 Agosto 2009, 12:31:23 »
significa che già così lancio il comando esattamente come se facesi
su - zimbra

variabili d'ambiente comprese?  :D

Offline dankan77

  • Moderator
  • Hero Member
  • *****
  • Post: 1365
    • Mostra profilo
    • E-mail
Re: lanciare un processo come altro utente
« Risposta #3 il: 19 Agosto 2009, 12:44:55 »
Ciao, non ho capito bene la tua ultima richiesta, cmq se hai bisogno di una mano nel compilare il sudoers posta pure.


P.S.
Di solito quando ho bisogno di importare delle variabili d'ambiente all'interno di uno script uso questo metodo.
All'iterno dello script stesso definisco un file chiamato ad esemio miavar.sh al cui interno definisco tutte le variabili di cui ho bisogno.  Quindi prima della "function start" inserisco . /percorso/miavar.sh



Ciao
« Ultima modifica: 19 Agosto 2009, 13:13:54 da dankan77 »