Páginas

lunes, 26 de abril de 2010

Sudo

Otorgar privilegios extendidos
El comando sudo permite asignar el derecho a ejecutar comandos de administrador a uno o varios usuarios y en una o varias máquinas. Para que un usuario pueda ejecutar un comando que sólo puede ejecutar root, se añade un derecho sudo a este usuario para este comando.

El fichero de configuración /etc/sudoers se edita con el comando visudo, además comprueba la sintaxis del fichero antes de guardarlo.

La sintaxis es la siguiente:

user maquina = (cuenta_user_ejecuta_comando) comando

De manera que para
autorizar al usuario gentoo a ejecutar el comando tune2fs y sus parámetros con derechos root sobre cualquier máquina (donde esté presente esta regla):

gentoo ALL = /sbin/tune2fs

 Se pide la contraseña del usuario y prosigue. La lista de los derechos del usuario se obtiene:

gentoo@syslinux:~$ sudo -l
[sudo] password for gentoo:
User gentoo may run the following commands on this host:
    (root) /sbin/tune2fs

Los mensajes de sudo se transmiten a syslog que puede dirigirlos a un fichero, por ejemplo, /var/log/messages. El registro de destino se puede determinar mediante syslog.conf.

Es posible crear:

  • grupos de usuarios
  • grupos de máquinas
  • grupos de comandos
  • obligar o no el uso de password
  • forzar la ejecución de un comando a usuario distinto de root.
El nombre de los grupos es alias

Alias de usuarios:
Usar_Alias    ADMIN = gentoo, slack

Si la totalidad de administradores deben poder usar el comando tune2fs:
ADMIN      ALL = /sbin/tune2fs

Si los administradores pueden ejecutar sólo en determinadas máquinas utilice el alias de máquinas:
Host_Alias SERVLINUX = syslinux, xena

Se convierte en:
ADMIN      SERVERLINUX = /sbin/tune2fs

Existe la posibilidad de agregar varios comandos con o sín parámetros, por ejemplo, si los ADMIN además pueden ejecutar el comando /sbin/fdisk quedaría como sigue:
ADMIN       SERVERLINUX = /sbin/tune2fs, /sbin/fdisk

Se pueden crear alias de comandos de manera que faciliten la utilización:
Cmnd_Alias   CMDADMIN=/sbin/tune2fs, /sbin/fdisk

Siguiendo con nuestro ejemplo, la línea sudo quedaría:
ADMIN      SERVERLINUX=CMDADMIN

Evitar la introducción del password de uno o varios usuario(s) pasa por utilizar NOPASSWD, así los usuarios del alias ADMIN están exonerados de introducir contraseña para utilizar los comandos del alias CMDADMIN:

ADMIN       SERVERLINUX=NOPASSWD:   CMDADMIN

Obligar al uso de una contraseña también es posible con PASSWD:
ADMIN      SERVERLINUX=NOPASSWD:    CMDADMIN,  \ PASSWD:/sbin/fdisk

A los usuarios del grupo ADMIN podrán iniciar un comando con la identidad de otro usuario distinto de root colocando el alias entre paréntesis:
ADMIN      ALL=(sonia)  PASSWD: /sbin/service

Los usuarios del grupo ADMIN podrán ejecutar el comando /sbin/service. Como condición tendrán que introducir la contraseña de sonia:
gentoo@syslinux:~$ sudo -u sonia /sbin/services

Puede precisar varios usuarios o crear alias:
Runas_Alias       USERLIST=gentoo,sonia

Quedaría asi:
ADMIN      ALL=(USERLIST)    PASSWD: /sbin/service

El alias ALL define conjunto de usuarios, máquinas, comandos, dependiendo del lugar donde esté escrito.

A los usuarios del grupo ADMIN les está permitido ejecutar todos los comandos, en todas las máquinas sin introducir contraseña.
:
ADMIN      ALL=NOPASSWD:    ALL

Para excluir determinados usuarios, comandos, máquinas, de un alias o lista se utiliza el signo de exclamación:
ADMIN       SERVERLINUX=NOPASSWD:   ALL,  !/sbin/fdisk,   PASSWD:/sbin/tune2fs

La línea anterior da a los ADMIN todos los derechos sobre todos los programas sin contraseña excepto /sbin/tune2fs que requier contraseña y /sbin/fdisk que está prohibido.


Linux es genial.

1 comentario:

  1. Hola Ingeniero Carlos me asombra su conocimiento en cuanto a sistemas linux quisiera molestarlo para hacerle una pregunta...

    Tengo instalado ubuntu 9.04 lo actualice a 9.10 tengo una tarjeta de redes inhalambrica Linsys wusb300n que no me quiere funcionar no se que hacer le descargue un programa que me aconsehjaron pero no la verdad no me deja detectarla...me podria colaborar diciendo que puedo hacer?????

    Mil gracias .


    Raul Gomez
    Colombia

    ResponderEliminar