Mi ventana abierta al mundo, sin paredes ni cristales

23
November
2009

Este método se aplica a Debian. Aunque el comando y las opciones varían un poco para otros Linux, pero la base es esta, aplíquese como deba en cada caso

No sé por qué, pero mi usuario y la interfaz de administración de un equipo cliente de Debian no se llevan bien, y para cambiar los ajustes de red no me que queda otra que recurrir a cambiarlos por consola de comandos. Ya lo hice varias veces y siempre se me olvida, por eso me lo apunto aquí porque cada vez me toca buscar por la red de redes hasta dar otra vez con la solución.

Editar configuración, debemos abrir en un editor de textos el fichero interfaces, y de la configuración que tenga, poner la interfaz ethernet que nos convenga con los datos de IP fija o dhcp que nos convenga:

$ sudo vi /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.1.20
netmask 255.255.255.0
gateway 192.168.1.1

Una vez editado el fichero guardamos cambios y reiniciamos los servicios de red, en Debian:

$ sudo /etc/init.d/networking restart

Y ya tendremos la red respondiendo con nuestros datos.

30
April
2009

Propósito
Para que al lanzar un comando de Unix como súper usuario, sin serlo, con el modificador ‘sudo‘ no pida la correspondiente contraseña, editaremos el fichero de configuración ‘sudoers‘.

Qué es lo que hace realmente
Podemos decidir que un usuario, un grupo, o desde una máquina en concreto, por su nombre de host o rango de ip’s incluso, ejecuten comandos restringidos al usuario root o a usuarios de sistema.

La tarea no es difícil, pero es recomendable seguir unos pasos de seguridad mínima.

Seguridad ante todo, que si cualquiera puede ejecutarlo todo, menuda podemos liar. Daremos permisos de ejecuciones con los dedos contados, y por hacernos la vida más fácil a los administradores, no al usuario, que tampoco va a usar los comandos en Mac OS X.

Primero de todo, hacer una copia del fichero de configuración, editarlo, probarlo con un comando antes de ponerlo como definitivo en el sistema y finalmente sustituir el fichero sudoers por el nuevo para empezar a usarlo inmediatamente.

Este fichero puede ser consultado por varios usuarios simultáneamente, por eso utilizamos no cualquier editor de texto, sino el artefacto ‘visudo’ que nos permitirá editarlo con vi, pero con la elegancia de editar un fichero temporal que no será accedido y que solo sustituirá al de sistema cuando lo guardemos.

Una idea general del fichero sudoers
En cada línea del fichero podemos hacer alias de comandos, alias de hosts, de usuarios, de grupos… que luego podemos manejar en las líneas de acciones para usuarios, grupos y hosts.

Una línea se compone de nombre_usuario_grupo (tabulador) nombre_host=comando, donde nombre_usuario_grupo es o el nombre de un usuario en concreto, de un grupo, que puede ser del sistema, poniendo ‘%’ delante, %staff, o creado con alias en el propio sudoers, RUTEROS, nombre en mayúsculas, o aplicarse a todos los usuarios, ALL. nombre_host puede ser localhost, el nombre DNS, del equipo local o remoto, un alias de hosts, con el nombre en mayúsuculas, o aplicarse a todos los hosts, ALL.

Paso a paso, y un caso concreto
Hacemos una copia del fichero sudoers como usuario root, o supersusuario.

$ su
password:

root$ cp /etc/sudoers /etc/sudoers.backup
root$ visudo

Al final del archivo añadimos las líneas que necesitemos, en mi caso:

ALL    ALL=NOPASSWD: /sbin/route

en la que a todos los usuarios (primer ALL) desde cualquier host (segundo ALL) le decimos que ejecute solamente el comando ‘route’ sin que pida la contraseña de súper usuario, de forma que cuando se ejecute el comando ‘route’ con el modificador ‘sudo’ no sea necesario meter la contraseña de administrador y un script de arranque de usuario pueda ejecutarse para añadir unas rutas de red al equipo.

Y al escribir en Terminal el comando:

sudo /sbin/route add -net 192.168.1.0 192.168.2.1

no nos preguntará la contraseña, y se podrá meter en cualqueir script que necesitemos sin necesidad de dejar el script parado. Genial.

Bibiliografía
AFP548.com – Essential Sudoers
Sudoers Manual
OS X Faq