GNU/Linux >> Tutoriales Linux >  >> Linux

¿Es posible que root ejecute un comando como no root?

Respuesta corta:"Sí, esto es posible".

si desea ejecutar una aplicación que no sea X, simplemente use el siguiente comando:

sudo -u abc comando

Si le gusta ejecutar alguna aplicación X como otro usuario pero con su propio escritorio primero necesita crear un script de ayuda, eso hará su vida más simple

  • cree una carpeta bin en su directorio de inicio:

mkdir -p ~/bin

y usando su editor de texto favorito, cree un archivo ~/bin/xsudo de la siguiente manera:

#!/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 - ; $*"

luego hazlo ejecutable:

chmod +x ~/bin/xsudo

y utilícelo de la misma manera que sudo pero sin interruptores:

xsudo aplicación de usuario

Disfruta.

PD Comenzando xsession del root cuenta está fuertemente desaconsejada!


Una solución portátil sería:

su abc -c google-chrome

Sin embargo, como google-chrome requiere acceso X11, es probable que falle a menos que lo desprotejas, lo que sería una muy mala idea, especialmente mientras se ejecuta como root.

Si se permite la sintonización/reenvío X11, una mejor manera sería

ssh -X [email protected] google-chrome

o

ssh -Y [email protected] google-chrome

Linux
  1. ¿Ejecutar comando en terminal activo remoto?

  2. ¿Ejecutar comando Nohup con entrada?

  3. ¿Ejecutar un comando donde se encuentra un archivo?

  4. Ejecutar comando para cada archivo en el directorio actual

  5. ¿Dónde está .bashrc para root?

Establezca la fecha y la hora para cada comando que ejecute en el historial de Bash

12 ejemplos de comandos IP para usuarios de Linux

11 ejemplos útiles de comandos divididos para sistemas Linux

Exa:un reemplazo moderno para ls Command

¿Cómo ejecutar un comando en un script de Shell?

Bloquear comando particular en Linux para usuario específico