GNU/Linux >> Tutoriales Linux >  >> Linux

¿Ejecutar un comando Sudo, especificando la contraseña en la misma línea?

Me gustaría hacer algo así:

sudo -p password rm /a/file

¿Puedo poner la contraseña y el usuario en la misma línea?

Mi versión de Sudo es 1.8.9p5

Respuesta aceptada:

sudo no tiene una opción para especificar la contraseña, pero aún puede realizar la autenticación en la línea de comando, así:

echo password | sudo -u root --stdin

o simplemente

echo password | sudo -S

refiriéndose a la página del manual de sudo:

-S , --stdin
Escriba el aviso en el error estándar y lea la contraseña de la entrada estándar en lugar de usar el dispositivo terminal. La contraseña debe ir seguida de un carácter de nueva línea.

y

-u usuario, --user= usuario
Ejecute el comando como un usuario que no sea el usuario de destino predeterminado (normalmente root). El usuario puede ser un nombre de usuario o una ID de usuario numérica (UID) con el prefijo "#" (por ejemplo, #0 para UID 0). Cuando se ejecutan comandos como un UID, muchos shells requieren que el '#' se escape con una barra invertida (''). Algunas políticas de seguridad pueden restringir los UID a los que figuran en la base de datos de contraseñas. La política de sudoers permite UID que no están en la base de datos de contraseñas siempre que la opción targetpw no esté configurada. Es posible que otras políticas de seguridad no admitan esto.

Pero sudo ha estado en desarrollo durante mucho tiempo. Compruebe la versión:

-V , --version
Imprime el sudo cadena de versión, así como la cadena de versión del complemento de política de seguridad y cualquier complemento de E/S. Si el usuario que invoca ya es root, el -V La opción mostrará los argumentos pasados ​​para configurar cuando sudo fue creado y los complementos pueden mostrar información más detallada, como las opciones predeterminadas.

El soporte para opciones largas se agregó en 2013.

Además de la autenticación, necesita algo para sudo para hacer , por ejemplo, un comando. A menudo compruebo que funciona haciendo solo

sudo id

que debería mostrar la raíz usuario, por ejemplo,

uid=0(root) gid=0(root) groups=0(root)

Linux
  1. Cómo eliminar un usuario en Linux usando la línea de comandos

  2. Ejemplos de comandos sudo en Linux

  3. ¿Cómo ejecutar el script como otro usuario sin contraseña?

  4. Ejecute el comando cd como superusuario en Linux

  5. Cómo ejecutar TeX desde la interfaz de línea de comandos en Linux

Cómo ejecutar el comando Sudo sin contraseña

Comprender la diferencia entre los comandos sudo y su en Linux

Domina la línea de comandos de Linux

Conceptos básicos de la línea de comandos de Linux:sudo

Cómo cambiar la contraseña de sudo a través de la línea de comandos en CentOS 8

Googler:ejecuta búsquedas en Google desde la línea de comandos