martes, 27 de septiembre de 2011

Perdiendo el miedo al tema de permisos en GNU/Linux Debian

Muchos cuando nos iniciamos en este mundo de servers y desktop con SO como GNU/Linux no tenemos muy claro como es que se maneja el tema de permisos y propietarios de nuestros archivos y carpetas.
Ahora voy a pasar a explicarlo de una manera sencilla y didáctica para que se entienda.

Antencedentes
Primero: En Debian (y las demás distribuciones en general) existen usuarios y administrador. Los usuarios suelen ser dueños de sus carpetas y archivos dentro de su carpeta personal dentro del /home. Esto quiere decir que el usuario tiene permisos totales sobre sus archivos creados.

Segundo: También existen grupos a los cuales pertenecen los usuarios con la finalidad de abarcar a usuarios con las similares características. Por ejemplo, dentro de una empresa existe el Dpto de Contabilidad, Finanzas, Presupuestos, Logística, RR.HH, etc, y dentro de cada área usuarios que comparten información que no necesariamente la debe saber la otra área.

Tercero:Todos tienen información sensible que no debería estar en las pc's de cada uno de ellos, sino centralizada en un servidor y que, mediante las reglas de permisos de grupos y usuarios, deberían estar protegidas para que no caiga o sea leída por personas ajenas y solo sean accedidas por los usuarios correspondientes.

Desarrollo

Para poder entender esto debemos tener bien claro los sgtes conceptos: Escritura, Lectura, Ejecución, Propietario, Grupo, Otros.

Manos a la obra: Para entender coloquemos un gráfico:
  En Linux los permisos se manejan por propietario, por grupo y por aquellos que no son propietarios y no pertenecen al grupo, pudiendo tener ellos permisos de lectura, escritura, ejecución o ninguno de éstos.
Para este siguiente punto veamos el sgte gráfico:

De aquí se desprenden todos los posibles permisos que tendría un archivo o directorio.
Los permisos se representan en códigos numéricos tanto para el propietario como para los miembros del grupo al que pertenece el archivo y/o directorio y para aquellos externos a los anteriores mencionados.
Por ejemplo:
  y así todas las combinaciones posibles.

Comandos chmod y chown

chown: Con este comando cambiamos el propietario y el grupo al que pertenece al archivo y/o directorio que estamos manipulando.
- Creamos un archivo
# touch file.txt    ; El file.txt creado tendrá como propietario y grupo principal a root (fíjense que estamos en el promt del superusuario root)
 # chown pipux:sistemas file.txt    ; Con ésto cambiamos de propietario al archivo file.txt; antes pertenecía a root y ahora pertenece al usuario pipux y al grupo sistemas
  
chmod: Con este comando se asignan los permisos al archivo y/o directorio que queremos manipular. Por ejemplo:
# chmod 640 file.txt     ; con esto digo que el propietario puede modificar el file.txt; los miembros del grupo solo pueden leerlo y el resto de usuarios no pueden acceder de ninguna manera al contenido de file.txt


Fuente: Mis propias experiencias

lunes, 26 de septiembre de 2011

Administrando los usuarios y grupos en Debian GNU/Linux

Continuando con el desarrollo, vamos ahora a aprender como se manejan los usuarios y grupos en Debian y en general en cualquier distribución GNU/Linux.
Recuerden que todo se hace como root y en la terminal bash:


# useradd pipux (creamos un user de nombre pipux y por default se crea un grupo con el mismo nombre al cual pertenecerá el usuario pipux y también se creará su carpeta personal, en este caso /home/pipux)

# passwd pipux (crea el pass para el usuario pipux)

# groupadd sistemas (creamos un grupo llamado sistemas)

# usermod -G sistemas pipux (lo que hacemos es agregar al usuario pipux al grupo sistemas pero sin que deje de pertenecer al grupo creado por default que vendría a ser su grupo primario)

Pueden consultar cada uno de estos comandos haciendo por ejemplo: man useradd en consola lo que les abrirá el manual de useradd y ahí podrán ver la infinidad de opciones que manejan estos comandos como podría ser el uid, gid, el home por defecto, etc..

Para verificar que se ha creado los usuarios y grupos correctamente usaremos los sgtes comandos:

para usuarios:
# getent passwd │ grep pipux

para grupos:
# getent group │ grep sistemas

Fuente: Mis propias experiencias

jueves, 22 de septiembre de 2011

Empezando por lo más básico.... Configurando la red en debian


Lo primero que necesitamos antes de poder inciar cualquier cosa en nuestro server debian, tenemos que configurar la red para poder conectarnos remotamente:
Empecemos:
Usando nuestro editor favorito (claro todo en consola, recuerden que nuestro server no tiene interfaz gráfica, en mi caso uso nano) entramos al archivo de configuración como root:

1.
nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0

presionamos Ctrl + o para guardar y Ctrl + x para cerrar.

2. configuramos los dns en sgte archivo. Si no existe lo crean

nano /etc/resolv.conf
nameserver DNS1
nameserver DNS2

cerramos, luego:

3. /etc/init.d/networking restart

4. Configuremos ahora el nombre del server:
nano /etc/hosts
borramos todo y editamos así:
127.0.0.1               localhost.domain          localhost
192.168.1.100       server.dominio.com      server

cerramos.

5. Configuremos el hostname.
nano /etc/hostname
server.dominio.com
guardamos y cerramos

6. Ahora aplicamos lo sgte:
/etc/init.d/hostname start

7. aplicamos ahora,
hostname y hostname -f y nos debería devolver el nombre de la máquina: server.dominio.com

Con esto ya tenemos conectividad y podemos trabajar remotamente.

Recuerden poner la ip de su lan, en mi caso usé como ejemplo la 192.168.1.100 y los DNS de su ISP. Más adelante explicaré como instalar un server DNS para usarlo internamente en la LAN

Espero les sirva ya que en mis inicios (uff hace mucho ya) en este mundo, me era un lío configurar la red XDD.