GNU/Linux >> Linux Esercitazione >  >> Linux

È possibile che root esegua un comando come non root?

Risposta breve:"Sì, è possibile".

se desideri eseguire un'applicazione diversa da X, usa semplicemente il seguente comando:

sudo -u abc comando

Se ti piace eseguire un'applicazione X come un altro utente ma con il tuo desktop prima devi creare uno script di supporto, questo ti semplificherà la vita

  • crea una cartella bin nella tua home directory:

mkdir -p ~/bin

e usando il tuo editor di testo preferito crea un file ~/bin/xsudo come segue:

#!/bin/bash
# (C) serge 2012
# The script is licensed to all users of StackExchange family free of charge
# Fixes/Enhancements to the script are greatly appreciated. 
# 
# SUDO_ASKPASS has to be set to the path of ssh-askpass
# fix the following two lines if your distribution does not match this autodetection
. /etc/profile.d/gnome-ssh-askpass.sh
export SUDO_ASKPASS="${SSH_ASKPASS}"

SUDOUSERNAME="$1"
shift
xauth nlist "${DISPLAY}"|sudo -HA -u $SUDOUSERNAME env --unset=XAUTHORITY \
bash -c "xauth nmerge - ; $*"

poi rendilo eseguibile:

chmod +x ~/bin/xsudo

e usalo allo stesso modo di sudo ma senza interruttori:

xsudo applicazione utente

Divertiti.

P.S. Inizio xsession dal root account è fortemente sconsigliato!


Una soluzione portatile sarebbe:

su abc -c google-chrome

Tuttavia, poiché google-chrome richiede l'accesso a X11, questo probabilmente fallirà a meno che tu non lo abbia reso non protetto, il che sarebbe una pessima idea, specialmente durante l'esecuzione come root.

Se la sintonizzazione/inoltro X11 è consentita, un modo migliore sarebbe

ssh -X [email protected] google-chrome

o

ssh -Y [email protected] google-chrome

Linux
  1. Eseguire il comando nel terminale attivo remoto?

  2. Eseguire il comando su un intervallo definito di directory?

  3. Eseguire il comando Nohup con l'input?

  4. Come eseguire il comando Ping solo per un numero N di pacchetti

  5. Esegui il comando per ogni file nella directory corrente

12 Esempi di comandi IP per utenti Linux

11 utili esempi di comandi divisi per sistemi Linux

Exa:un sostituto moderno per ls Command

Come eseguire un comando in uno script della shell?

Configurazione di sudo per abilitare i comandi per utenti non root in Linux

Dov'è .bashrc per root?