Permisos por defecto en OSX

Hace unos días me encontré con el siguiente problema: deseaba compartir una carpeta entre 2 usuarios de un mismo equipo; para ello creé la carpeta con uno de ellos y en las preferencias del sistema compartí esa carpeta con el otro usuario, dándole permisos de lectura escritura. Entré con el otro usuario y vi que, efectivamente, tenía acceso a dicha carpeta.

El problema se presentó después, pues cualquier fichero (o carpeta) que creaba con uno de los usuarios en esta carpeta, no otorgaba permisos de escritura a nadie más que a él mismo, por lo que el otro usuario solo podía leer el nuevo contenido; tendría que ir cambiando los permisos de cada archivo o carpeta cada vez que la creaba, lo cual es una solución que para nada me resultaba eficiente.

Contacté con el servicio técnico de Apple, y tuvieron que contactar con un supuesto experto, el cual al final tras ver lo que quería y ver que no se hacía de forma automática (también le sorprendió), me dijo que esto podría solucionarlo con algún software externos a Apple (no me dio nombres).

Como esta conclusión no me satisfizo, seguí buscando por internet y finalmente encontré la solución: la utilización de umask.

Por lo visto, cuando se crea un archivo por defecto tendría permisos 666 y para carpetas 777; sin embargo, por defecto viene configurado un umask de 022, por lo tanto los permisos de los archivos y carpetas serán:

666 – 022 = 644 (usuario con rw, grupo con r, todos con r).

777 – 022 = 755

Si alguna carpeta difiere, se le pueden cambiar los permisos, pero por defecto cuando un usuario crea una carpeta o fichero, tendrá esos permisos.

Yo deseaba que 2 usuarios tuvieran permiso de lectura y escritura a los ficheros de una carpeta, aunque me valía la solución de que fuera a todos los que se creen nuevos estén donde estén (no se si esta solución podría valer para una carpeta en concreto). Para ello hay que cambiar el umask de los usuarios, de forma que los permisos sean 664 (archivos) y 775 (carpetas). Por tanto el umask debe ser 002

666-002=664

777-002=775

El comando en Yosemite sería:

sudo launchctl config user umask 002

En Mavericks y anteriores habría que creado un fichero (sudo /etc/launchd-user.conf) que contenga en una línea umask 002.

En ambos casos para que tenga efecto hay que reiniciar el sistema.

Para conocer el umask, tecleamos desde un terminal: umask

Una vez entendido esto, hay que saber que el sistema también puede crear archivos o carpetas, y por defecto estos también tienen se crean con los permisos por defecto para usuarios; para cambiarlo hay que modificar con umask (por ejemplo si lo deseamos dejar como para los usuarios):

 sudo launchctl config system umask 002

En Mavericks y anteriores habría que creado un fichero (sudo /etc/launchd.con.conf) que contenga en una línea umask 002.

Para saber los permisos que se aplican cuando se crea por el sistema podemos utilizar

umask -S

Un pensamiento en “Permisos por defecto en OSX”

Responder a Marina Pérez Cancelar respuesta

Tu dirección de correo electrónico no será publicada.


siete + = trece

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>