extraño error de permiso relacionado con archivos ssh, Cygwin, Windows 7 y .sh

extraño error de permiso relacionado con archivos ssh, Cygwin, Windows 7 y .sh

Soy nuevo en Cygwin, ssh y estoy jugando con los permisos de archivos y tengo un problema. En la computadora WORKER1, estoy intentando realizar ssh en la computadora WORKER2 y luego ejecutar un archivo .sh en WORKER1 desde allí. Por lo que puedo ver en el resultado a continuación, ls -l muestra que debería haber permiso para hacer todo (sé que esos son malos permisos, pero me estaba volviendo loco tratando de descubrir por qué recibía este error de permiso) .

root@Worker1 ~
$ ssh WORKER2
Last login: Tue Jan 31 10:51:54 2012 from worker1

root@Worker2 ~
$ cd //WORKER1/Users/Public/pMatlab/MatlabMPI/Examples/MatMPI

root@Worker2 //WORKER1/Users/Public/pMatlab/MatlabMPI/Examples/MatMPI
$ sh Dos_Commands.WORKER2.1.sh
sh: Dos_Commands.WORKER2.1.sh: Permission denied

root@Worker2 //WORKER1/Users/Public/pMatlab/MatlabMPI/Examples/MatMPI
$ ls -l
total 28
-rwxrwxrwx+ 1 Administrators None   2 Jan 31 11:01 Dos_Commands.WORKER1.0
-rwxrwxrwx+ 1 Administrators None 127 Jan 31 11:01 Dos_Commands.WORKER2.1
-rwxrwxrwx+ 1 Administrators None 250 Jan 31 11:01 Dos_Commands.bat
-rwxrwxrwx+ 1 Administrators None 636 Jan 31 11:01 MPI_COMM_WORLD.mat
-rwxrwxrwx+ 1 Administrators None  97 Jan 31 11:01 MatMPIdefs1.m
-rwxrwxrwx+ 1 Administrators None 199 Jan 31 11:01 p0_p0_t10000_buffer.ma
-rwxrwxrwx+ 1 Administrators None 199 Jan 31 11:01 p0_p1_t10000_buffer.ma
-rwxrwxrwx+ 1 Administrators None   0 Jan 31 11:01 p0_p1_t10000_lock.mat

Ambas computadoras ejecutan Windows 7 de 64 bits y yo estoy ejecutando la última versión de Cygwin y OpenSSH en cada una. El sshd que se ejecuta en WORKER2 también es el de Cygwin. Al instalar sshd, la única forma en que pude lograr que funcionara correctamente fue responder "no" a la separación de privilegios y "sí" a la instalación como servicio cuando ejecutaba ssh-host-config. Estoy usando autenticación RSA de clave pública. Intenté montar //WORKER1/Users/Public/pMatlab/ como una unidad de red y acceder a él de esa manera, pero eso tampoco ayudó. ¿Alguna idea de lo que podría estar yendo mal? ¡Gracias!

EDITAR: Olvidé mencionar que la configuración de uso compartido de mi red en Windows está configurada para permitir todo lo que puedo ver. Además, mi carpeta Pública y las carpetas que contiene parecen estar configuradas como de solo lectura (en el menú de clic derecho->Propiedades), aunque los archivos que contiene no lo están. Intentar cambiar esto en el menú Propiedades no hace nada; cuando desactivo el modo de solo lectura, vuelve a activarse cuando vuelvo a abrir el menú Propiedades. Intenté cambiar esto ejecutando attrib -r C:\Users\Public en cmd.exe pero tampoco funcionó.

Finalmente, no recibo un error de permiso denegado cuando ejecuto el archivo .sh localmente, cuando intento acceder a él desde la GUI de Windows en la computadora WORKER2, o cuando hago ssh desde WORKER2 hacia sí mismo y luego intento acceder a él. El error de permiso solo aparece cuando hago ssh de WORKER1 a WORKER2 y luego intento acceder al archivo en WORKER1 desde allí.

Edición final: problema resuelto. ¡Resultó que la carpeta estaba cifrada! No tengo idea de por qué. Por alguna razón, así salió del archivo zip.

Respuesta1

¡Bienvenido al nuevo y maravilloso mundo Unix de 1989!

Esas amables personas de TRUSIX han definido, solo este año, una extensión del lscomando para indicar visualmente cuando la rwxrwxrwxinformación de permisos no es en realidad toda la historia. Esa extensión es un +carácter que sigue a las banderas de permiso. Como puede ver, su lssalida tiene +caracteres por todas partes. Eso significa que sus archivos tienen estos novedososlista de control de acceso discrecionalcosas que tanto entusiasman a la gente de TRUSIX. Como tal, su acceso a los archivos esnonecesariamente lo que se puede deducir solo de los nueve indicadores de permisos.

Para compensar estas limitaciones de las herramientas Unix de estilo antiguo frente a las ACL de estilo nuevo, la gente de TRUSIX también ha creado un par de comandos nuevos, getacly setacl. El primero se utiliza para observar esas ACL. Escucho murmullos que la gente podría preferirgetfaclysetfaclcomo nombres. Y corre el rumor de que la versión 3 de OS/2 de Microsoft e IBM que está en la mesa de dibujo podría eventualmente terminar con comandos nombrados caclsy xcaclspara mirar las ACL que seránaun mejorque getfaclen su sistema operativo de "Nueva Tecnología", porque no los presentarán a través de una lente Unix de 3 bits sino más bien como son realmente en todos susderechos-estándar y-específicos drctpoxfewambas cuentasy-Gloria del nombre de la máquina.

Esta idea seguramente se extenderá como la pólvora en el mundo Unix del que seguramente todos terminarán siendo parte en la década de 1990. Es muy probable que dentro de 20 años nueve bits de permisos parezcan obsoletos y pasados ​​de moda, las ACL sean la norma yIncluso los fuddy-duddies que todavía miran nueve banderas de permisos sabrán de ellos.. ☺

Otras lecturas

información relacionada