jueves, 21 de julio de 2011

permisos en linux: que son y que significan



Hola nuevamente! Con este articulo no quiero ahondar y dejar más en duda que en claridad un tema que es "tan" importante: los permisos en GNU/Linux.
¿Porque importantes? Bueno imaginate que si una carpeta o archivo tiene solamente permisos para el Usuario "Pablo" y vos sos el usuario "Carlos" cuando quieras abrir o modificar el archivo, no podrás hacerlo. Punto.

Cabe aclarar (los más entendidos ya lo saben) que el superusuario del sistema (el usuario "root") puede hacer cualquier cosa con cualquier archivo dentro del sistema.

Bueno, basta de chachara y vamos al tema:

3 Tipos de permisos:
  • Lectura (Read o sea leer, "r")
  • Escritura (Write o sea escribir, "w")
  • Ejecución (eXecute o sea ejecutar, "x")

Estos tipos de permisos se aplican tanto a carpetas, subcarpetas y archivos.

Para saber los permisos del archivo "texto1.txt" escribimos en la consola:

ls -l texto1.tx

Veremos un listado como el siguiente:

-rw-r----- 1 UsuarioPropietario GrupoPropietario texto1.txt

Vamos a desglosar un poco esta linea (¿se ve rara por primera vez no?)

"-rw-r--r--"

Esto resume los permisos, el primer "-" significa que se trata de un archivo y no de un directorio (para el caso de un directorio en vez de un guion se mostraria una "d")

Después le siguen una "rw-" (¿y esto que es?) Bueno esto significa que el usuario propietario del archivo tiene permitido r (leerlo) w (cambiarlo) y "-" (y mas nada, osea si en vez de un - apareciera una "x" tambien se podría ejecutar como comando)

Luego le sigue un "r--" y esto es que el Grupo Propietario (no se asusten que en otro articulo intentare explicarles que son los "Grupos en Linux") tiene el permiso de lectura (solo la r seguida de --)


Y por ultimo encontramos un "---": Estos son los permisos "Otros" (los tambien llamados nobody/nogroup, osea nadie/singrupo) Y en este caso equivalen a nada.

Entonces podemos hacer una gran afirmacion: A los permisos se les puede asignar un valor.
Los valores para los permisos son:

r------> 4 (para lectura)
w-----> 2 (para escritura)
x------> 1 (para ejecución)
-------->0 (ningun permiso)

¿y que hay con estos valores?

Bueno, algo tan simple que si a un grupo le queremos dar permisos, podemos darle permisos con exactitud: supongamos que quiero que CUALQUIERA pueda hacer CUALQUIER COSA con el archivo:

r+w+x = 4 + 2 + 1 = 7

Entonces con el comando "chmod" le cambio los permisos al archivo "texto1.txt" :

chmod 700 texto1.txt

Bueno, pero ojo que aquí le dimos Todos los permisos al UsuarioPropietario (al usuario que creo el archivo o el que actualmente tiene los permisos sobre el archivo)

¿Y para que los usuarios del grupo puedan leer el archivo?

chmod 740 texto1.txt

¿Y para que ademas, Otro usuario desconocido pueda abrir y modificar el texto1.txt?

chmod 746 texto1.txt

Bueno, espero que esto le sea util a alguien al momento de "entender" los permisos

como dato extra les doy un enlace a una una wiki de Wikipedia sobre Chmod (Change Mode):

http://es.wikipedia.org/wiki/Chmod


bon appetit!

servidor nfs, como compartir carpetas en linux

Hola! Aquí te traigo un informe sobre como usar "nfs" (Networtk File System) en linux, para que puedas compartir archivos y carpetas dentro de tu red de equipos (con linux :) )

Espero ilustrar mejor el panorama con el siguiente gráfico:



Como puedes ver, para utilizar nfs se usaran dos configuraciones, la de Cliente y la de Servidor.

El servidor comparte una carpeta (como la del ejemplo, /compartido) y el cliente tiene un punto de anclaje (/puntoAnclaje) que "engancha" (metafóricamente hablando) el cliente con la carpeta compartida en cuestión.

Bueno, ahora manos a la obra:

Preámbulo del escenario:

  • Todos los comandos nombrados a continuación REQUIEREN ser usuario root (super usuario linux)
  • En el ejemplo usaremos debian wheezy (testing) como servidor (con la ip: 192.168.0.11)
  • En el ejemplo usaremos Ubuntu 10.10 como cliente (con la ip: 192.168.0.2)
SERVIDOR:

1.- Instalamos los paquetes necesarios:

apt-get
install nfs-kernel-server nfs-common portmap
(posiblemente durante la instalacion no instale portmap para dejar rpcbind)
2.- Iniciamos los servicios: /etc/init.d/nfs-kernel-server restart 

3.- Comprobamos que servicios RPC se estan ejecutando con:
/
etc/init.d/rpcinfo -p


4.- Creamos la carpeta en el servidor con el comando:
mkdir /compartido

5.- Agregamos permiso para el usuario que va a usar la carpeta (seria mas util crear un grupo):
chown usuario /compartido

6.- Agregamos la carpeta compartida ejecutando "gedit /etc/exports":

/directorioCompartido *(rw,sync)

7.- Exportamos el archivo:

exportfs -av

8.- Por ultimo Reiniciamos el servidor nfs

/etc/init.d/nfs-kernel-server restart

Hasta aqui listo, ya t
enemos el servidor NFS listo

CLIENTE:

Ahora para conectarnos (recordar: debemos tener permiso sobre la carpeta):

mount -t nfs 192.168.0.11:/compartido /home/jose/Escritorio/anclaCompartido

Nos aparecerá un icono de que se ha montado una unidad

Ahora cada vez que arrastremos un archivo a esa carpeta se ira al servidor!!!


La mesa esta servida: Consultas y sugerencias son bienvenidas!!!








miércoles, 20 de julio de 2011

Debian Wheezy en una MSI Wind U100

Proximamente presentare un informe completo sobre la instalación de Debian Wheezy en una netbook MSI U100 (la cual es sumamente facil) y además podemos lograr un equipo Estable, Rapido y con programas bastante actualizados.