No tiene derecho a abrir el archivo una vez copiado en el escritorio

5

Soy nuevo en Mac, por lo que es posible que no tenga el vocabulario correcto.

  • Tenemos un Mac 10.5.x configurado para compartir archivos con AFP y SMB.
  • Tenemos otros 4 Mac como clientes, varias versiones entre 10.5 y 10.6.
  • Cada uno de ellos accede al servidor con la contraseña + usuario correcta.
  • El recurso compartido ahora está configurado para ignorar los permisos, pero el problema era idéntico antes de eso.
  • Podemos crear / abrir / modificar / eliminar / renombrar / etc archivos en el servidor, de cada cliente.

El problema:
Cuando copiamos un archivo del servidor al escritorio de un cliente, el archivo copiado no se puede abrir. El mensaje de error dice que los permisos no permiten leer el archivo.
Esto es para cada archivo del servidor, en los 4 clientes.
Los archivos se copian con el buscador, desde el cliente.

Editar:
Revisé los permisos. En el recurso compartido del servidor, cuando miro los permisos de una computadora cliente, todos los archivos son -------rw- cedric cedric (lectura-escritura para todos) con el usuario y el grupo idénticos a las personas conectadas (aquí, cedric, pero este es otro usuario cuando se ve) desde otra computadora).
Una vez que el archivo se copia en el escritorio, los permisos y el propietario son los mismos. Por lo tanto, no es posible abrir el archivo porque los permisos no son correctos (solo probé en Linux, cuando un archivo es RW solo para todos, el propietario no puede abrirlo).

Entonces, ¿hay una manera de copiar automáticamente los archivos con mejores permisos? ¿O compartir los archivos correctamente?

Editar:
Cada computadora cliente ahora se actualiza a 10.6.x para la más antigua, y 10.7.x para las otras dos. El problema es exactamente el mismo.
También noté que una computadora no puede guardar archivos del software de Adobe al servidor. El usuario guarda los archivos en su escritorio, luego usa el buscador para moverlos al servidor.

    
pregunta Gregory MOUSSAT 24.02.2013 - 14:17

3 respuestas

1

Parece que está utilizando una Mac que no es de servidor para actuar como servidor. ¿Es esto correcto? Si es así, le recomiendo encarecidamente que actualice a alguna versión de OS X Server.

Si estoy en lo cierto, su problema se debe al uso de los permisos estándar de Mac (o POSIX) para manejar su recurso compartido de archivos. Esta es la única opción que tiene para una Mac estándar cuando comparte archivos. Esto causa problemas de permisos, ya sea que esté utilizando los protocolos AFP o SMB (aunque SMB es peor a este respecto).

Si puede actualizar a OS X Server, primero deberá limpiar los permisos en la carpeta que desea compartir (por lo tanto, solucionar cualquier problema existente). Luego crea usuarios & Grupos para modelar la estructura de su organización. A partir de ahí, creará un nuevo recurso compartido de archivos utilizando la aplicación Servidor. No cambie ninguno de los permisos predeterminados que otorga. En su lugar, haga clic en el botón "+" para agregar una nueva entrada de control de acceso. Este es un tipo especial de permiso que OS X Server puede otorgar, y resuelve todos los problemas de permisos que una Mac estándar le dará en dicha configuración.

Peachpit Press también ofrece una gran reseña de todo esto en sus manuales de OS X Server, aunque no pude encontrar nada con qué vincularlo directamente. Espero que esto ayude.

    
respondido por el bispymusic 01.03.2013 - 05:04
6

Hay problemas conocidos (errores creados por Apple) con varias revisiones de OS X 10.5 Leopard Client y acceso a archivos AFP, incluidos problemas de permisos y, en algunos casos, incluso la posibilidad de perder o sobrescribir archivos por completo.

No hay una solución temporal para estos errores, están en el propio sistema operativo y se pueden reproducir en 2 formatos recientemente & Macs instaladas con Leopard 10.5, y la mayoría o todas las revisiones posteriores, es decir, 10.5.1, 10.5.2, etc.

Su mejor solución es asegurarse de actualizar todos los 10.5 Mac a 10.6.8 Snow Leopard. Si falla, actualizar todo a 10.5.8 (la última versión de Leopard) puede resolver sus problemas.

Aquí hay una lista de referencias que se detallan más:

enlace

enlace

enlace

enlace

enlace

    
respondido por el gosmond 26.02.2013 - 18:44
0

La forma más fácil de hacer esto es usar la Terminal. Para hacerlo, necesitas tener acceso a sudo, con lo cual asumo que estás familiarizado, al menos conceptualmente, desde que mencionaste Linux.

TL; DR: find . \! -perm 666 -type f -exec sudo chmod 666 {} \; es de una sola línea que hará el truco, suponiendo que lo ejecute desde la carpeta exacta que desee, por ejemplo, $HOME/Desktop/files_are_in_this_folder . Sin embargo, si solo es un archivo, solo puedes ejecutar sudo chmod 666 /path/to/the/file .

Permítame explicar, lo mejor que pueda, qué está pasando.

find(1) es una utilidad de búsqueda extremadamente poderosa de , mucho más que whereis . La razón por la que es tan poderoso es que tiene tantas opciones diferentes; como un ejemplo más simple, intente find $HOME -size +100M ; Esto encontrará todos los archivos, recursivamente, más de 100 MB y le mostrará una lista de ellos. Extraiga lo siguiente:

    /Users/jayands/.rvm/gems/ruby-1.9.3-p385/gems/libv8-3.11.8.13-x86_64-darwin-10/vendor/v8/out/x64.release/libv8_base.a
    /Users/jayands/.rvm/gems/ruby-1.9.3-p385/gems/libv8-3.11.8.13-x86_64-darwin-10/vendor/v8/out/x64.release/obj.host/tools/gyp/libv8_base.a
    /Users/jayands/.rvm/gems/[email protected]/gems/libv8-3.11.8.3-x86_64-darwin-10/vendor/v8/out/x64.release/libv8_base.a
    /Users/jayands/.rvm/gems/[email protected]/gems/libv8-3.11.8.13-x86_64-darwin-10/vendor/v8/out/x64.release/libv8_base.a
    /Users/jayands/.rvm/gems/[email protected]/gems/libv8-3.11.8.13-x86_64-darwin-10/vendor/v8/out/x64.release/obj.host/tools/gyp/libv8_base.a
    /Users/jayands/Documents/2013-02-10.wav
    /Users/jayands/Documents/2013-02-17.wav
    /Users/jayands/Documents/2013-02-24.wav
    /Users/jayands/Documents/2013-03-03.wav
    /Users/jayands/Library/Application Support/Steam/SteamApps/common/regnum/data0.sdb
    /Users/jayands/Library/Application Support/Steam/SteamApps/common/regnum/data1.sdb
    /Users/jayands/Library/Application Support/Steam/SteamApps/common/regnum/data2.sdb
    /Users/jayands/Library/Application Support/Steam/SteamApps/common/regnum/data4.sdb
    /Users/jayands/Library/Caches/com.apple.Safari/Cache.db
    /Users/jayands/Music/iTunes/iTunes Media/Podcasts/Bronyville/93 Bronyville Episode 093 – Friendship Gives You Wings!.mp3

Como puedes ver, encontrará todo, incluso las cosas que no quieras modificar. Si tienen una convención de nomenclatura específica, digamos, *.wav , también puede especificar el comando de búsqueda para buscar por nombre. find . -name '*.wav'

Dije todo eso para familiarizarte con la parte más fácil de find ; La siguiente es la parte que tiende a hacer tropezar a la gente. find tiene directivas que puede hacer que haga a lo que encuentre. -print es tan común que es el predeterminado y generalmente no tiene que ser especificado. -print0 , sin embargo, es un poco más interesante: hace casi lo mismo que -print , pero el 0 es un carácter NUL que reemplaza los saltos de línea; hace que la tubería a xargs más fácil. Sin embargo, el único en el que estamos interesados es la directiva -exec , que le permite ejecutar los comandos de shell más simples en cada archivo, lo que nos lleva a {} y \; . El \; es escapar de un punto y coma para la terminación del comando exec y las llaves vienen de awk , si recuerdo correctamente. Se reemplazan por lo que se encuentra.

chmod sigue existiendo desde los días de Unix; de hecho, muchos de los comandos que puede ejecutar en Linux en xterm tienen algo de analógico en el terminal de Mac. chmod 666 le dará acceso de lectura y escritura para todos; sin embargo, si no puedes recordar eso, prueba chmod a=rw . Ambos comandos significan: "tome el archivo del que estoy a punto de informarle y establezca los permisos de acceso de lectura-escritura para todos".

Además, dado que está colaborando, puede querer ejecutar un servidor privado git , Perforce ( p4 ) o Mercurial ( hg ), ya que estos sistemas de gestión también administrar los permisos de los archivos.

Más información

find

  1. man find de la Terminal
  2. Este tutorial

chmod

  1. man chmod

sudo

  1. man sudo

git : Desde la página de inicio de git

Si necesita más ayuda, solo pregunte.

Antes de que olvide: sudo le pide su contraseña de administrador para esa máquina.

    
respondido por el jayands 04.03.2013 - 09:18

Lea otras preguntas en las etiquetas