Una introducción al comando sudo y archivo de configuración

Los usuarios de Ubuntu Linux pueden estar familiarizados con el uso del comando “sudo” en Linux. Es una característica muy útil en Linux que permite al administrador de una máquina Linux para otorgar privilegios de “root” a un usuario o grupo de usuarios. También se puede configurar para que este privilegio se limita a uno o más comandos. El equipo de Ubuntu, por ejemplo, han decidido bloquear el usuario root de conectarse de forma predeterminada y en lugar de permitir a los usuarios utilizar sudo para realizar tareas administrativas. Así que si usted está usando Ubuntu Linux, privilegios sudo han sido configurado para que tenga privilegios de “root”. Vamos a echar un vistazo más de cerca a instalar y configurar privilegios sudo en su máquina. Antes de continuar, por favor, tenga en cuenta que no se debe tratar lo siguiente en un servidor de producción. Por favor, intente ejecutar los ejemplos de este tutorial sobre una máquina de prueba y familiarizarse con sudo antes de que lo pruebe en un servidor de producción. sudo es una herramienta muy potente y debe ser utilizado con extrema precaución.

Que yo sepa los “sudo” paquete se envía con todas las distribuciones de Linux. Así que voy a omitir la instalación y saltar directamente a la configuración. Para este tutorial voy a utilizar una máquina de Red Hat Linux. Ingrese a su máquina Linux como root y ejecute el siguiente comando en la línea de comandos:

# visudo

El comando anterior se abrirá la configuración “sudo”, que está en / etc / sudoers, utilizando el editor por defecto en su máquina, que es Vim en la mía. Desplazarse hacia abajo a la sección donde se ve el texto siguiente:

rootALL = (ALL) ALL

Vídeo: Configurar Comando sudo

La ruptura de esta sintaxis de configuración sudo va así. En primer lugar, definir el ‘usuario` para el que desea sudo configuración. Luego viene el ‘nombre de host`, donde se permite el comando a ejecutar. Esto podría ser un nombre de host específico o “ALL”, como en el ejemplo anterior. Y por último, es el ‘comando` para el que quiere dar el privilegio administrativo‘usuario`.

Volver a la configuración. En Vim desplazarse hacia abajo a la línea mostrada arriba y golpear la carta o en el teclado para añadir una nueva línea. Ahora agregue el siguiente texto, reemplazando Calvin con su propio nombre de usuario:

Calvin ALL = (ALL) ALL

Guarde y salga del archivo usando la siguiente combinación de teclas:

ESC: wq

Golpea el Regreso (Enter) para aplicar estas instrucciones. Ahora hemos dado el usuario ‘Calvin` todos los privilegios de administrador que utiliza sudo. Abrir una nueva ventana de terminal e inicie sesión como el usuario que concede privilegios sudo a. Vamos a probar si los nuevos permisos se han configurado correctamente al reiniciar el servidor Web Apache como usuario de Calvino:

Vídeo: Introducción a Linux - Clase 9 anexo: Ejecutando comandos privilegiados

# reinicio sudo /etc/init.d/httpd
Contraseña:
Detener httpd: [OK]
A partir httpd: [OK]

El sistema ahora le pedirá una contraseña. Introduzca la contraseña de su nombre de usuario. Y listo! El servidor web Apache ahora debe reiniciar. Puede utilizar esto para cualquier otra tarea administrativa. La concesión de privilegios completos a un usuario no siempre puede ser la mejor de las ideas. Por lo que puede limitar al usuario a unos pocos comandos con privilegios administrativos. Digamos que usted desea que el usuario ‘Calvin` para permitir que sólo se reinicie el servidor web Apache. Abra el archivo de configuración de sudo utilizando el visudo mando y editar la línea que ha introducido anteriormente a tener este aspecto:

Calvin ALL = (ALL) reinicio /etc/init.d/httpd

Guarde y salga del archivo. Entrar en el terminal como el usuario ‘Calvin`. Ahora intente reiniciar Apache con sudo:

Vídeo: Introducción a los comandos de Linux (parte 1)

# reinicio sudo /etc/init.d/httpd
Contraseña:
Detener httpd: [OK]
A partir httpd: [OK]

Estupendo. Funciona. Ahora intenta detener el servidor web:

# sudo parada /etc/init.d/httpd
Contraseña:
Lo sentimos, Calvin usuario no tiene permiso para ejecutar ‘parada /etc/init.d/httpd` como root en Commons.

Así como se puede ver, el usuario ‘Calvin` sólo puede hacer lo que le permite hacer, nada más. Puede agregar varios comandos en el sudoers archivo separado por comas. Así que si desea permitir ‘Calvin` permiso para detener y reiniciar el servidor web de la configuración leería así:

Calvin ALL = (ALL) reinicio /etc/init.d/httpd, / etc / init.d / httpd stop

Ahora intenta detener el servidor web, y debería funcionar:

Vídeo: Comandos basicos e imprescindibles de la terminal de linux PARTE 1

# sudo parada /etc/init.d/httpd
Contraseña:
Detener httpd: [OK]

Otra característica de sudo que es bastante útil, sobre todo si tiene que realizar una tarea administrativa utilizando un script de shell, está fijando el privilegio sudo sin que se le pida una contraseña. Recuerde que puede que no sea aconsejable hacer esto en una máquina de producción utilizando un nombre de usuario que se comparte, porque si la contraseña para su nombre de usuario cae en las manos equivocadas puede significar un problema. A fin de utilizar esta función con precaución.

Abre el sudoers presentar y editar la línea que ha introducido anteriormente a tener este aspecto:

Calvin ALL = (ALL) /etc/init.d/httpd reiniciar NOPASSWD: ALL

La última parte de la configuración instruye sudo para no pedirá o esperar una contraseña, y permitir que el usuario ejecute el comando que se asigna a ella con privilegios administrativos. Guarde el archivo y salga de su editor de texto y tratar de reiniciar Apache:

# reinicio sudo /etc/init.d/httpd
Detener httpd: [OK]
A partir httpd: [OK]

Hay mucha más personalización que se puede hacer en el fichero de configuración de sudo. Acabamos de ver a un pequeño segmento de la misma. Sin embargo, esto debería darle un nuevo comienzo. Una vez más, por favor utilice con precaución.

Artículos Relacionados