Alguna vez se han preguntado como saben los sistemas operativos unix o linux que permisos otorgar por defecto al crear un directorio o archivo nuevo??? Sabe usted como poder manipular estos permisos que estan por defectos en el sistema?
En
los distintos sistemas operativos unix y tipo unix tenemos una variable de entorno que
controla que permisos recibira por defecto la creacion de un directorio o archivo nuevo, esta variable se llama umask. Umask no es mas que otra forma de
administrar los permisos bajo sistemas unix y linux, y podemos encontrar
una entrada de esta en el archivo /etc/profile, por lo general siempre la veremos
con el siguiente valor :
umask 022
Los permisos en sistemas unix y linux se otorgan como octales, decimales o simbolo:
Octal : 0000
decimal : 000
simbolos : u, a, +, -
Como
manipulamos umask con los permisos estandares de nuestro sistema?
sencillo, toda carpeta recien creada en Linux tiene los permisos 755, y
si es un archivo de texto 655.. Ahora te preguntaras porque 755 y 655 y
no 777 o 666? o 700 o 600? sencillo, porque si tenemos definido una
umask 022 que es la estandar en /etc/profile, todos los permisos de los
nuevos archivos se restaran con el octal que tengamos definido como umask, me explico todas las carpetas se crean con permisos 777 y los
archivos de texto con el permiso 666 pero si restamos ambos a la umask ya definida en
/etc/profile que por defecto es 022, obtenemos lo siguiente :
umask = 022
carpeta = 777
archivo = 666
022 - 777 = 755
022 - 666 = 644
Captan
la idea? no podemos restar el primer 7 ni el primer 6 ya que 0 no tiene
valor, pero si podemos restar 2 - 7 y 6 - 2, y es aqui que se definen
los permisos reales que tendran todos los archivos y carpetas que recien
vayamos creando. Ahora, que ocurre si modificamos el umask 022 de
/etc/profile y decimos que quiero un umask 077 y guardamos los cambios
en /etc/profile actualizamos con el comando source /etc/profile y
creamos una carpeta nueva, que ocurrira aqui?? ya nuestra carpeta no
tendra permisos 755 sino :
umask 077
carpeta 777
077 - 777 = 700
Todas
las nuevas carpetas se crearan con permisos 700, donde solo el usuario que creo la carpeta
tendra acceso a entrar, modificar, borrar, actualizar, etc, el resto de usuarios y grupos no podran siquiera acceder a la carpeta ni ver que contenido tiene la misma. Lo mismo
ocurre si volvemos a modificar la entrada umask en /etc/profile y
decimos que ya no queremos una umask 077 sino umask 066, y actualizamos
/etc/profile y creamos un archivo de texto nuevo. Ya nuestro archivo no
tendra permisos 644 como ocurre cuando tenemos umask 022. Aqui seria :
umask 066.
archivo 666
066 - 666 = 600
Donde
solo el usuario creador del archivo tendra acceso a modificarlo,
insertar, verlo, leerlo, etc.
Ahora, editando el archivo /etc/profile indica que los cambios se aplicaran para todos los usuarios del sistema operativo, por lo que si estas interesad@ en manipular estos permisos solo por conocer como funcionan sin provocar cambios masivos a todo el sistema, perfectamente puedes hacerlo de forma local y sin peligro. Sencillamente en tu seccion abre una konsola nueva, y
ejecuta umask XXX (Siendo XXX el valor octal que quieres definir) seguido crea una carpeta o archivo y verifica con el comando ls -l los permisos del mismo. Este cambio solo funcionara dentro de esa terminal y mientras dures conectado a la seccion, por lo que puedes jugar y divertirte un rato manipulando los permisos en entorno linux.
Espero que la explicacion de umask les haya sido de utilidad.
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario