Permisos para nuevos archivos en un directorio compartido

28

Acabamos de recibir una nueva iMac que está utilizando el directorio /Users/Shared para almacenar recursos multimedia (imágenes, audio, video) que queremos que todos los usuarios puedan acceder a la máquina. Después de copiar todos los archivos inicialmente, establecimos los permisos deseados y luego aplicamos los mismos permisos a todos los contenidos del directorio de forma recursiva. Esto funciona bien, excepto cuando alguien crea un nuevo archivo o directorio, no tiene los mismos permisos y tenemos que repetir todo el proceso de permisos antes de que todos puedan acceder a él.

¿Hay alguna manera de que podamos establecer permisos para todos los archivos / directorios nuevos creados dentro de ese directorio?

    
pregunta Daniel Standage 30.12.2010 - 02:21

2 respuestas

25

No puede hacer esto con los permisos tradicionales de estilo POSIX, pero puede hacerlo con entradas de control de acceso heredables. Para permitir el acceso de lectura + escritura para todo el grupo de "personal" a todo en / Usuarios / Compartidos / realmente compartidos, utilizarías:

sudo chmod -R +a "staff allow list,add_file,search,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit" /Users/Shared/reallyshared

La parte file_inherit,directory_inherit significa que esta entrada de control de acceso se agregará automáticamente a nuevos archivos & carpetas creadas dentro de esta carpeta, pero no se aplica automáticamente a los elementos que ya están allí (por eso agregué el indicador -R a chmod , que se aplica a todo lo que está actualmente dentro de la carpeta), y no será aplicado a los elementos creados en otro lugar y luego movidos a esta carpeta (no sé cómo evitar esto, lo siento).

    
respondido por el Gordon Davisson 29.01.2011 - 19:49
4

Otro enfoque es usar Terminal (también conocido como shell o símbolo del sistema) para crear / editar (debe realizarse como superusuario, ver sudo) el archivo:
/etc/launchd-user.conf
agregando la línea:
umask 000
guardar y reiniciar. Los nuevos archivos / carpetas (incluidos los archivos modificados por guardar como) permitirán que todos lean / escriban.

Esto funciona al cambiar los permisos de creación de archivos predeterminados para los programas, mientras que el enfoque de ACL funciona en términos de reglas de acceso vinculadas a archivos y carpetas particulares.

Sin este ajuste, los archivos se crean permitiendo al usuario: lectura-escritura, grupo & otro: solo lectura.

Si está compartiendo entre varias computadoras, debe hacer esto para todas las computadoras que usarán el recurso compartido.

Si tiene archivos y carpetas existentes en el área compartida, debe hacer que todos puedan leerlos y escribirlos usando:
sudo chmod -R og+w <shared-folder-name>

El comando se lee en inglés como modo de cambio, recursivo a través de todas las subcarpetas y archivos, otro & los permisos de grupo agregan acceso de escritura, comenzando en la carpeta con.

Este enfoque se menciona en los foros para trabajar con al menos tan pronto como 10.6 y aún funciona en 10.7.

Otros factores aún afectan el acceso al contenido. Por ejemplo, los permisos configurados en el panel de control de Compartir, los permisos de la carpeta de inicio / ACL, y cuando se usa Terminal, umask en efecto para el shell.

Busque umask y permisos de archivo Posix para obtener detalles sobre estos conceptos de Unix. En los escritos, el directorio de palabras es un lenguaje de Unix sinónimo de carpeta. También encontrará los términos UID y GID: ID de usuario y grupo, que definen la propiedad de Posix de los programas en ejecución (procesos). Tenga en cuenta que los UID y los GID son números que pueden ser iguales o diferentes para un nombre de usuario dado en diferentes equipos. Estos números se asignan a los nombres en el orden en que se crean las cuentas en una computadora determinada, generalmente comenzando con la ID 501. Las redes domésticas carecen de un mecanismo para armonizar estas asignaciones entre las computadoras. Por lo tanto, en las redes compartidas, un archivo puede parecer que pertenece a diferentes usuarios porque la identificación del usuario con el enlace del nombre de usuario se determina desde la perspectiva de la computadora al acceder al archivo. Por lo tanto, los recursos compartidos realmente siempre permiten que todos accedan a los archivos en diversos grados de todos. En otras palabras, el "otro" permiso de Posix es un límite indefinido de acceso que va desde permitir un grado de acceso bastante predecible pero aparentemente incierto dependiendo de las ID de usuario asignadas en diferentes computadoras. Esto conduce a variaciones aparentemente absurdas en las experiencias, donde en algunas redes, por ejemplo, una configuración con una sola cuenta de usuario creada en cada Mac, podrá compartir sin ningún ajuste de permisos porque todas las cuentas tendrán el mismo UID (501, no independientemente de cómo se llamen las cuentas), mientras que otra red que use varias cuentas de usuario por Mac verá problemas de inmediato. Por lo tanto, algunos grupos nunca lucharán con esto, mientras que otros pueden ver problemas que se desarrollan con el tiempo, o problemas que aparecen / desaparecen espontáneamente, dependiendo de cuándo / cómo se crean / usan cuentas de usuario adicionales con la carpeta compartida.

Es un misterio por qué Apple ha dejado un defecto de uso tan persistente en la configuración de una capacidad para compartir archivos que, de otro modo, sería fácil.

En discos externos, este problema se resuelve con la opción "Ignorar permisos en este volumen". Puede haber una función similar para compartir archivos de Apple, pero ¿dónde está?

Si obtiene su propia configuración de servicio de Samba, existen otros mecanismos para manejar estos problemas, pero Samba no es fácil de usar.

    
respondido por el Wire 18.08.2012 - 00:09

Lea otras preguntas en las etiquetas