Tutoriales

Evitar argumentos de comando usando Sudo en Linux

En el artículo anterior, aprendimos cómo Ejecute comandos en un directorio como root a través de sudoEn esta guía veremos cómo Use sudo para evitar argumentos de comando en linuxSignificado: permitimos a los usuarios ejecutar comandos con sudo, pero sin argumentos de comando.

introducir

Como sabes, cada comando tiene diferentes opciones para realizar acciones específicas.echemos «ls« comando por ejemplo.

Este ls El comando se usa para enumerar el contenido del directorio, ¿verdad? Sí. El comando ls viene con varias opciones de línea de comando y banderas.Por ejemplo, puedes usar -a logotipo con ls Comando para enumerar todo en un directorio (es decir, incluidos los archivos ocultos).

En este breve tutorial veremos cómo permitir que los usuarios ejecuten ls A través del comando sudo, pero solo sin opciones de línea de comando o banderas. ¿Lo entiendes? Déjame mostrarte cómo hacer esto en las siguientes secciones.

Use sudo para evitar argumentos de comando

editar /etc/sudoers el archivo es root usuario:

[root@Almalinux8CT ~]# visudo

Agregue las siguientes líneas:

user1   ALL=(root)      /usr/bin/ls ""
Rechazar argumentos de comando con sudo

Tenga en cuenta las comillas dobles al final ls comando en la línea anterior.Las comillas dobles prohíben que los usuarios usen argumentos para un comando determinado (es decir, ls Ordenar).De acuerdo con la línea anterior, el usuario1 puede ejecutar ls el comando es rootpero no puede usar ls Opciones/indicadores para el comando. Puede utilizar otros comandos de su elección. Guarde el archivo y ciérrelo.

Ahora cierre sesión en la sesión raíz e inicie sesión como usuario1 e intente ejecutar ls Comandos con cualquier opción como root a través de sudo en la sesión de usuario1:

[user1@Almalinux8CT ~]$ sudo -u root ls -a

Encontrará el siguiente error:

Sorry, user user1 is not allowed to execute '/bin/ls -a' as root on Almalinux8CT.

Sin embargo, puede ejecutar ls Comando sin argumentos:

[user1@Almalinux8CT ~]$ sudo -u root ls
Use sudo para evitar argumentos de comando
Use sudo para evitar argumentos de comando

Deshabilite los argumentos del comando sudo para todos los usuarios

El ejemplo anterior le muestra cómo denegar al usuario la ejecución de un comando con argumentos root usuario. ¿Qué sucede si desea aplicar esta regla a todos los usuarios? ¡simple!justo en /etc/sudoers documento:

ALL   ALL=(root)      /usr/bin/ls ""

Ahora todos los usuarios en su máquina Linux no pueden ejecutar ls comandos y sus banderas.

Para volver al valor predeterminado, simplemente elimine el comando y las comillas dobles. Alternativamente, elimine toda la línea.

Consulte la página del manual para obtener más detalles.

$ man sudoers

En conclusión

En esta guía, aprendimos cómo permitir que los usuarios ejecuten comandos con sudo, pero evitar que agreguen parámetros al comando. De esta manera, podemos evitar que los usuarios abusen de los argumentos de la línea de comandos.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba