Asignar privilegios a usuarios o grupos con sudoers – I

Sergio Izquierdo (albireo) en

Una persona que ha tratado con Ubuntu u otra distribución de la familia de Debian, más tarde o más temprano, descubre el comando sudo.

Pero antes de nada, explicaremos en que consiste realmente el comando sudo:

El comando sudo otorga privilegios que permiten suplantar al administrador del sistema (root).

Los usuarios o grupos de usuarios que tienen derecho a hacerlo se encuentran en el fichero sudoers.

De modo que editando este fichero, podremos declarar quienes pueden.

Antes de editar el fichero sudoers, tomaremos la precaución de hacer una copia:

[$] sudo cp /etc/sudoers /etc/sudoers.copia

Para editar el fichero /etc/sudoers tenemos que usar el comando [$] visudo que nos permitirá modificar el fichero con el editor vi.

Puesto que a muchos usuarios no les gusta usarlo, a continuación explicaré que hay que hacer para usar nuestro editor preferido:

Si intentamos editar el fichero /ect/sudoers con cualquier editor, por ejemplo:

[$] sudo gedit /etc/sudoers

Podremos comprobar que el fichero no es modificable (solo-lectura), por lo que deberemos ejecutar antes: [$] sudo chmod u+w /etc/sudoers

En el apartado identificado como: “# User privilege specification” al final del fichero, es el lugar indicado para asignar permisos.

usuario-grupo MAQUINA=(Usuario_con_privilegios)=COMANDO

Las opciones de ejecución son diversas y nos permiten regular con un nivel de seguridad el comportamiento de ciertas aplicaciones a la hora de ser invocadas.

Pero nos quedaremos con el uso de NOPASSWD (evita que se nos solicite la contraseña).

En el fichero, podremos observar como existe una línea similar a la siguiente:

root ALL=(ALL) ALL

El usuario root cuenta con acceso total al sistema, previo reconocimiento de su contraseña.

Los usuarios se pueden escribir en distintas líneas o separados por comas.

Para conceder el control total a los usuarios albireo y lycoris, solicitando la contraseña deberemos escribir:

albireo, lycoris ALL=(ALL) ALL

No obstante, para que no se solicite la contraseña: ALL=(ALL) NOPASSWD: ALL

Y si deseamos conceder permisos a nivel de grupo, deberemos escribir % antes de su nombre:

%proyecto_lyc ALL=(ALL) ALL

Una vez hemos terminado de editar el fichero:

Si hemos usado visudo, escribimos :wq

Si hemos usado otro editor (por ejemplo: gedit), guardamos el fichero y ejecutamos la siguiente línea para devolver el fichero a su estado habitual:

[$] sudo chmod u-w /etc/sudoers

En otra ocasión, veremos cómo editar de nuevo este fichero para conseguir más libertad para elegir que comandos puede o no ejecutar un usuario o grupo.

No related posts.

15 comentarios para Asignar privilegios a usuarios o grupos con sudoers – I

  1. 1

    Muy útil lo de no solicitar la contraseña. Para el equipo de casa te puede ahorrar un buen tiempo poniendo contraseñas :P

    Gracias!

  2. 2

    Por cierto una aclaración. El fichero sudoers es de solo-lectura a cosa hecha por motivos de seguridad. Para editarlo es mejor ejecutar el comando:

    # sudoedit /etc/sudoers

    Saludos!

  3. 3

    Buenas Piponazo,
    Como bien dices, el fichrero sudoers es de solo-lectura como un criterio de seguridad.
    Y por experiencia propia se que sudoedit no va asociado siempre al editor nano, aunque la verdad, me es indiferente el editor a usar.
    Y como hay muchas personas que parecen tenerle alergia a usar vi, tal vez visudo, no es la mejor opción.
    Para editarlo con el editor que prefieras es tan sencillo como asignar permisos de escritura al propietario (root), modificarlo y volver a restaurar el permiso de escritura. Y hasta ahí, los problemas de seguridad son los mismos, si se corrompe el fichero. Por eso, hasta para un cambio menor, es mejor hacer una copia del fichero.
    Saludos

  4. 4

    EN mi caso me encontreun problema al cambiar los permisos de /etc/sudoers. Al cambiarselos, cuando usaba sudo me daba un mensaje de error diciendo que los permisos de sudoers debian ser 0440 y no 0640 con lo cual no me permitia usar el comando sudo.

    En resumen, que al cambiar los permisos de sudoers dejaba de funcionar sudo, con lo cual no podia editarlo ni volverlos a poner de nuevo en solo lectura.

    Para arreglarlo, arrancad ubuntu en modo recovery y en el prompt del root introducir (sin el sudo) chmod 0440 /etc/sudoers

    Un saludo

  5. 5

    En mi caso (Uso Gentoo) tengo configurado como editor de sistema VIM , y cuando ejecuto sudoedit edito el fichero con VIM. Tendría que aprender todo el mundo a manejar este editor, es de lo mejorcito!! jeje.

    Bueno solo quería dejar constancia de mi predilección por VIM, pero me parece correcto lo que comentas para aquellos que no se sienten seguros en una terminal :P.

    Saludos!

  6. 6

    Buenas VanFleet,
    Lo primero que siempre deberías de hacer en Ubuntu, es:
    [$] sudo passwd root
    De esta forma puedes prescindir de sudo, en caso de necesitar identificarte como root.
    Simplemente [$] su
    y la contraseña de root.

    Nunca es malo prevenir :)
    Saludos

  7. 7

    Enlaces interesantes del blogroll [ago]…

    Un listado con las entradas que más me han llamado de la atención, de los blogs y webs que suelo leer, ordenados cronológicamente:

    Sonido de Videos 3gp en Ubuntu
    PieDock: Un dock con estilo
    Asignar privilegios a usuarios o grupos con sudoers – I
    Ho…

  8. 8

    en q consiste los privilegios de un usuario.?

  9. 9

    ahora me marca esto

    sudo: /etc/sudoers is mode 0640, should be 0440

  10. 10

    Angel, haz lo siguiente:

    Entra en el Recovery Mode, y dale a la opcion root. Te abrira el promp de root y alli escriber o bien:

    chmod u-w /etc/sudoers

    o bien:

    chmod 0440 /etc/sudoers

    Suerte.

  11. 11

    Rathma, el problema es este

    tengo mint y al registrarme no le puse contaseña a root.
    creara una password por defaul? ! o que !

    y por lo tanto no puedo entrar en recovery mode que puedo hacer. ayuda….

  12. 12

    Hola, que tal mi pregunta es si saben cambiar la carpeta que aparece en la consola de linux al usar el comando pwd, gracias un saludo

  13. 13

    Hola, como hago para darle desde sudoers privelgios al root como INFROMIX, yo en un principio tenai entendido que el ROOT tiene todos los privilegios, pero mi profesor dijo que no..

  14. 14

    Hola, mi pregunta es la siguiente, al copiar un fichero a un disco duro dañado, me da error de “Disco solo lectura” estoy probando a darle acceso de escritura al disco duro completo, con CHMOD no se si para esto es necesario tener acceso SUDO? Alguien me puede ayudar con esto? como lo hariais? Gracias de antemano!

  15. 15

    ¿cual es el usuario con los mismos privilegios que root?

Deja tu comentario

Bienvenido a 120% Linux

Te agradecemos que comentes tu opinión en los artículos y te suscribas al feed de nuestro blog de Linux, Ubuntu y software libre.

2754 suscriptores. ¡Suscribete!

Siguenos en Google Plus.

Primeros pasos con Linux

Linux es un sistema operativo libre.

Elige y descarga la distribución Linux que prefieras (Ubuntu 10.10 es la más popular).

Disfruta de Linux en tu ordenador de forma gratuita y segura.