GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo ejecutar un comando que implique redirigir o canalizar con Sudo?

Estoy tratando de seguir lo que supongo que son las mejores prácticas de usar sudo en lugar de la cuenta raíz.

Estoy ejecutando una operación de archivo concat simple como:

sudo echo 'clock_hctosys="YES"' >> /etc/conf.d/hwclock

Esto falla ya que a la derecha de ">>" se está ejecutando como el usuario normal. Agregar sudos adicionales también falla (comportamiento esperado desde la canalización al comando sudo y no al archivo).

El ejemplo es solo eso, pero se ha verificado y probado con la cuenta raíz.

Respuesta aceptada:

Puede invocar un nuevo shell como root:

sudo sh -c 'echo clock_hctosys="YES" >> /etc/conf.d/hwclock'

También podría simplemente elevar un proceso para escribir en el archivo:

sudo tee -a /etc/conf.d/hwclock > /dev/null << EOF
clock_hctosys="YES"
EOF

Linux
  1. ¿Ejecutar un comando que está sombreado por un alias?

  2. ¿Cómo hacer retroactivamente que un script se ejecute como raíz?

  3. ¿Cómo ejecutar un comando sin propiedades raíz?

  4. ¿Cómo ejecutar el comando original que tiene un alias con el mismo nombre?

  5. ¿Cómo ejecutar Terminal como raíz?

Cómo ejecutar un comando con límite de tiempo (tiempo de espera) en Linux

Cómo ejecutar el comando Sudo sin contraseña

Cómo ejecutar un alias con Sudo en Linux

Cómo ejecutar una auditoría de seguridad en AlmaLinux con Lynis

Cómo ejecutar el comando SUDO en WinSCP para transferir archivos de Windows a Linux

¿Cómo determinas el comando real que te está llegando?