Asignar privilegios a usuarios o grupos con sudoers – I
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.
6 ago 2008 a las 20:03
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!
6 ago 2008 a las 20:07
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!
6 ago 2008 a las 21:04
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
7 ago 2008 a las 9:08
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
7 ago 2008 a las 18:21
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!
8 ago 2008 a las 0:22
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
19 ago 2008 a las 17:09
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…
6 oct 2008 a las 17:01
en q consiste los privilegios de un usuario.?
11 jun 2009 a las 1:06
ahora me marca esto
sudo: /etc/sudoers is mode 0640, should be 0440
12 jun 2009 a las 14:41
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.
13 jun 2009 a las 18:08
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….
23 sep 2009 a las 19:14
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
16 oct 2009 a las 2:45
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..
2 nov 2009 a las 11:32
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!
26 abr 2010 a las 12:57
¿cual es el usuario con los mismos privilegios que root?