5 votos

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

Soy nuevo en Mac, así que puede 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 el usuario+contraseña correctos.
  • El recurso compartido está ahora configurado para ignorar los permisos, pero el problema era idéntico antes.
  • Podemos crear/abrir/modificar/borrar/renombrar/etc archivos en el servidor, desde todos los clientes.

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 finder, desde el cliente.

Editar:
He comprobado los permisos. En el recurso compartido del servidor, cuando miro los permisos desde un ordenador cliente, todos los archivos son -------rw- cedric cedric (lectura-escritura para todos) con el usuario y el grupo idénticos a los de las personas conectadas (aquí cedric, pero este es otro usuario cuando se ve desde otro ordenador).
Una vez copiado el archivo en el escritorio, los permisos y el propietario son los mismos. Así que no es posible abrir el archivo porque los permisos no son correctos (acabo de probar en Linux, cuando un archivo es RW sólo para todos, el propietario no puede abrirlo).

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

Editar:
Todos los ordenadores cliente están ahora actualizados a 10.6.x para el más antiguo, y a 10.7.x para los otros dos. El problema es exactamente el mismo.
También he observado que un ordenador no puede guardar los archivos de los programas de Adobe en el servidor. El usuario guarda los archivos en su escritorio y luego utiliza el buscador para moverlos al servidor.

6voto

gosmond Puntos 1092

Hay problemas conocidos (errores creados por Apple) con varias revisiones del cliente de OS X 10.5 Leopard y el acceso a archivos AFP, incluyendo problemas de permisos y en ciertos casos incluso la posibilidad de perder o sobrescribir archivos completamente.

No hay ninguna solución para estos errores, están en el propio sistema operativo y pueden reproducirse en 2 Macs recién formateados e instalados con Leopard 10.5, y en 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 Macs 10.5 a 10.6.8 Snow Leopard. En su defecto, actualizar todo a 10.5.8 (la última versión de Leopard) puede resolver sus problemas.

Aquí hay una lista de referencias que entran en más detalle:

http://support.grouplogic.com/?p=1508

https://discussions.apple.com/thread/1423847

http://www.insanelymac.com/forum/topic/67625-preping-for-105-permissions-issues-with-afp-shares/

http://lists.apple.com/archives/MacOS-x-server/2010/Dec/msg00267.html

http://www.mailinglistarchive.com/html/xsan-users@lists.apple.com/2008-07/msg00409.html

1voto

bispymusic Puntos 3414

Parece que estás usando un Mac que no es servidor para actuar como tal. ¿Es esto correcto? Si es así, le aconsejo encarecidamente que se actualice a alguna versión de OS X Server.

Si estoy en lo cierto, su problema es causado por el uso de los permisos estándar de Mac (o POSIX) para manejar su archivo compartido. Esta es la única opción que tiene un Mac estándar para compartir archivos. Esto causa problemas de permisos, ya sea que esté utilizando los protocolos AFP o SMB (aunque SMB es peor en este sentido).

Si puede actualizar a OS X Server, primero querrá limpiar los permisos de la carpeta que desea compartir (y así solucionar cualquier problema existente). A continuación, cree usuarios y grupos para modelar la estructura de su organización. A partir de ahí, crea un nuevo archivo compartido utilizando la aplicación Server. No cambies ninguno de los permisos por defecto que te da. En su lugar, haz clic en el botón "+" para añadir una nueva entrada de control de acceso. Este es un tipo especial de permiso que OS X Server puede conceder, y resuelve todos los problemas de permisos que un Mac estándar le dará en tal configuración.

Peachpit Press ofrece una gran descripción de todo esto en sus manuales de OS X Server también, aunque no pude encontrar nada para enlazar directamente. Espero que esto ayude.

0voto

jayands Puntos 1

La forma más fácil de hacerlo es utilizar el Terminal. Para ello, necesitas tener acceso sudo, que supongo que conoces, al menos conceptualmente, ya que has mencionado Linux.

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

Permítanme explicar, en la medida de mis posibilidades, lo que sucede.

find(1) es un extremadamente potente utilidad de búsqueda, mucho más que whereis . La razón por la que es tan poderoso es que toma muchas opciones diferentes; como un ejemplo más simple, pruebe find $HOME -size +100M esto encontrará todos los archivos, recursivamente, de más de 100 MB y le mostrará una lista de ellos. El mío produce 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/ruby-1.9.3-p385@rails-4.0/gems/libv8-3.11.8.3-x86_64-darwin-10/vendor/v8/out/x64.release/libv8_base.a
    /Users/jayands/.rvm/gems/ruby-2.0.0-rc2@rails-4.0/gems/libv8-3.11.8.13-x86_64-darwin-10/vendor/v8/out/x64.release/libv8_base.a
    /Users/jayands/.rvm/gems/ruby-2.0.0-rc2@rails-4.0/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 ves, lo encontrará todo, incluso lo que no quieras modificar. Si tienen una convención de nombres específica, digamos, *.wav , puede especificar el comando find para buscar por nombre, también. find . -name '*.wav'

He dicho todo esto para que te familiarices con la más fácil parte de find lo siguiente es la parte que tiende a confundir a la gente. find tiene directivas que puede hacer a lo que encuentra. -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 sustituye a los saltos de línea; esto hace que el piping sea xargs más fácil. El somos Sin embargo, lo que le interesa es la -exec que le permite ejecutar la mayoría de los comandos de shell simples en cada archivo, lo que nos lleva a {} y \; . El \; es para escapar de un punto y coma para la terminación del comando exec y las llaves vienen de awk si no recuerdo mal. Se sustituyen por lo que se encuentra.

chmod sigue existiendo desde los días de Unix; de hecho, muchos de los comandos que se pueden ejecutar en Linux en xterm tienen algún análogo en el terminal de Mac. chmod 666 le dará acceso de lectura-escritura para todo el mundo; sin embargo, si no lo recuerda, intente chmod a=rw . Ambos comandos significan: "toma el archivo del que te voy a hablar y establece los permisos de acceso de Lectura-Escritura para todos".

Además, ya que estáis colaborando, podríais estudiar la posibilidad de llevar un git , Perforce ( p4 ) o Mercurial ( hg ), ya que estos sistemas de gestión también gestionar 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 necesitas más ayuda, sólo tienes que pedirla.

Oh, antes de que lo olvide: sudo le pide su contraseña de administrador para esa máquina.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X