lunes, 1 de febrero de 2016

Como crear y modificar permisos de carpetas en UNIX

¿Como le hago para crear o modificar una carpeta en UNIX?

El primer paso es escribir el comando mkdir seguido del nombre de nuestra carpeta.

user:~$ mkdir tutorial                                                                                              


La sintaxis es la siguiente... mkdir [Opcion] Directorio.


Existen diferentes argumentos que pueden ser usados:

  1.  -m (mode) - Sirve para dar permisos sin utilizar el comando chmod.
  2.  -p  (parents) - No arroja un mensaje de error si la carpeta ya existe.
  3.  -v  (verbose) - Arroja un print por cada directorio creado.
  4. --help - muestra ayuda y sale de pantalla.
  5. --version - muestra la versión y sale de pantalla.
user:~$ ls -lrt | grep tutorial                                                                                     
drwxrwxr-x 2 user group 4096 Feb  1 07:44 tutorial                                               
Como podemos ver cuando hacemos un listado filtrando por la palabra tutorial (mas información del comando grep y ls aquí) nos arroja en pantalla la carpeta que acabamos de crear y los permisos que contiene, pero ¿Como se, cuales son los permisos que tiene, es decir quien puede y quien no puede acceder a dicha carpeta?

Vamos a desglosar un poco la información mostrada con el comando ls

d (directory) rwx - rwx - r-x  2  user user 4096 Feb  1 07:44 tutorial  

tenemos una d al principio que identifica a nuestro directorio, de esa manera podemos saber que se trata de un carpeta y no de un archivo.

En el primer bloque de izquierda a derecha tenemos r (read) w (write) x (execute), si lo vemos de forma binaria el resultado es = 7, donde x (execute) =1, w (write)=2 y r (read)=4, estos son los permisos del usuario (dueño de la carpeta).

El segundo bloque son los permisos del grupo donde se encuentra el usuario, esto quiere decir que los permisos se asignan al grupo donde se encuentra el dueño de la carpeta y cada uno de los miembros podrá hacer conforme los permisos que tengan, los permisos son los misos que en el primer bloque:(read) w (write) x (execute)si lo vemos de forma binaria el resultado seria el numero 7, donde x (execute) =1, w (write)=2 y r (read)=4

El tercer bloque pertenece a los permisos de otros usuarios que se encuentran registrados en el sistema UNIX, ahora bien, como podemos ver a diferencia de los permisos del dueño y el grupo hace falta el permiso de escritura, esto quiere decir que los otros usuarios podrán leer y ejecutar el archivo pero no podrán modificarlo, donde x (execute) =1, w (write)=0 y  (read)=4,.


Entendemos que:

u (user)     g (group) o (others)
        7              7              4     

Resulta que  ahora deseamos que los otros usuarios tambien puedan escribir, por lo tanto modificar nuestros archivos. Para esto existen dos metodos que podemos utilizar:

  1. user:~$ chmod 777 tutorial                                                                            
  2. user:~$ chmod ugo+rwx tutorial                                                                     
user:~$ ls -lrt | grep tutorial
drwxrwxrwx 2 user group 4096 Feb  1 07:44 tutorial

Ahora podemos ver que tanto como el dueño de la carpeta, el grupo y los otros usuarios tienen todos los permisos.

en UNIX los permisos se ejecutan de derecha a izquierda, es decir empezando con los otros usuarios, por ejemplo:

Si ejecutamos el comando:

user:~$ chmod 7 tutorial
user:~$ chmod o+rwx tutorial

 solamente los otros usuarios tendrán acceso de lectura, escritura y ejecución.

user:~$ ls -lrt | grep tutorial
d------rwx 2 user group 4096 Feb  1 07:44 tutorial.



Hasta aquí este tutorial, no te olvides de escribir tus comentarios si tienes alguna duda al respecto.





























No hay comentarios.:

Publicar un comentario