domingo, 1 de noviembre de 2009

Modificando sudoers manualmente

Hace unos dias tuve un problema de permisos con el N810 y se me bloquearon todos los comandos que necesitan usar "sudo" para ejecutarse. Entonces me puse a averiguar sobre como modificar la lista de usuarios sudos para poder resolver el problema que me surgio. Como seguramente algunos no tienen, antes que nada voy a tratar de explicar que es la sudoers y para que sirve el comando sudo.


Como toda distribución basada en Debian, los permisos para ejecutar acciones "administrativas" o importante para la maquina se maneja con comandos con permisos especiales, ya sea mediante el uso de "root" o con el comando "sudo". Si queremos apagar la maquina, por decir un ejemplo, desde consola, tenemos que poner
sudo halt
(no siempre es necesario poner sudo al comando halt si los permisos de usuario estan configurados para poder utilizarlo) o logearnos como super-usuario (root) y ejecutar el comando, pero toma demasiado tiempo.

Ahora bien, una vez entendido lo de arriba procederemos a lo que es sudoers. Es un archivo el cual contiene una lista con los usuarios con la cual pueden ejecutar operaciones administrativas, como apagar el sistema. Cuando instalamos la distribución, automaticamente se agrega el usuario a la lista de sudo-usuarios. Pero cuando añadimos un nuevo usuario, o queremos que el que ya esta no pida la contraseña cuando usamos sudo (que es altamente no recomendado por cuestiones de seguridad) tenemos que modificar el archivo sudoers para lograrlo. Si hasta este punto entendistes, ahora viene el momento de aplicar lo resumido arriba. El archivo SUDOERS está en la carpeta /etc/ y tiene permisos para no ser modificado por cualquiera. Entonces o bien probamos con
sudo nano /etc/sudoers
o la mas larga
sudo su nano /etc/sudoers
Una vez abierto el archivo, tiene que ser algo así...


Este es MI sudoers, pero el suyo o el de cualquiera que sepa un poco mas o un poco menos que yo lo puede tener diferente, respecto a su uso/gusto.

Ahora bien, para modificar algun elemento tenemos que tener en cuenta lo siguiente :

Usuario       Host = (usuario privilegiado) comando

Que quiere decir eso ? Bien, ahora lo explicaré paso por paso.

Usuario : Puede ser tanto root como cualquier otro usuario que tengamos en la maquina
Host : Es la maquina en la cual está el usuario (casi siempre será ALL, cualquier maquina)
Usuario Privilegiado : Este elemento es opcional. Establece si algun otro usuario a travez del que estemos definiendo, puede ejecutar algun comando de los ingresados
Comando : Establece los comandos que pueda utilizar. En el caso de root, por defecto y es recomendable que no lo modifiquen, es ALL, que quiere decir cualquier comando.

Una vez entendido esto, podemos agregar, modificar o quitar permisos a los usuarios que esten en la maquina, pero recordá que tenes que tener claro lo que estas haciendo, porque sino no podremos ejecutar comandos con sudo, y posiblemente tampoco como root.
Ahora bien, volviendo a mi problema, el archivo sudoers en el N810 posee permisos no para todos los comandos, sino para algunos definidos de fabrica para que no se puedan realizar varias cosas, solamente las indispensables (para ellos). Entonces si recordamos un poco lo leido, lo unico que tenemos que hacer es agregar la siguiente linea al final del archivo.
user ALL = (ALL) ALL
Con esto establecimos que el usuario user (el que viene de fabrica) pueda ejecutar cualquier comando. No es necesario modificar los permisos que estan mas arriba, ya que directamente al ingresar ultima esta linea, obia los anteriores, porque ya estan integrados en ALL.
Espero que les alla sido util esta información.

FUENTE : No tiene fuente, ya que lo hice yo con la practica (no se recomienda realizar mis formas de entender el archivo ya que tuve que formatear el dispositivo un par de veces. En esta guia traté de explicar a groso modo, el funcionamiento de sudoers, para que, a su riesgo, juegen un poco con los permisos)

No hay comentarios:

Publicar un comentario