¿Por qué bash me da (aparentemente) información contradictoria sobre un file?

Fondo

Estoy trabajando en un clúster RHEL 5. Quiero que mi progtwig Fortran lea el file /home/bob/inputs/input_1

  1. Le pedí a Bob que me diera permiso para leer todos los contenidos de las inputs :

     [bob@server]$ chmod -R a+r /home/bob/inputs/* 
  2. Los vinculé a un directory compartido:

     [david@server]$ ln -s /home/bob/inputs/ /home/share/inputs/ 
  3. Mi (Fortran) progtwig intentó leer /home/share/inputs/input_1 y dijo:

     File /home/share/inputs/input_1 not found! 
  4. Intenté localizar el file yo mismo (en el process, bob dio permissions a+rwx ):

     [david@server]$ls -ltrh /home/share/inputs/input_1 lrwxrwxrwx 1 bob bob 33 Oct 25 15:42 /home/share/inputs/input_1 -> /home/bob/inputs/input_1 

    A partir de esto, concluí que a) existen inputs_1 yb) todos los usuarios tienen permiso de rwx .

  5. Intenté leerlo:

     [david@server]$ more /home/share/inputs/input_1 /home/share/inputs/input_1: No such file or directory 

    Y me dijeron que no existe.

  6. Busco el file de destino /home/bob/inputs/input_1 pero me niegan el permiso.

     [david@server]$ls -ltrh /home/bob/inputs/input_1 ls: /home/bob/inputs/input_1 Permission denied 
  7. Algo extraño sucede si ls contenido del directory:

     [david@server]$ls -ltrh /home/bob/inputs/ ?--------- ? ? ? ? ? input_1 ?--------- ? ? ? ? ? input_2 ?--------- ? ? ? ? ? input_3 ... (n-4 lines omitted) ?--------- ? ? ? ? ? input_n 

    aunque si Bob hace esto, obtiene:

     -rwxrwxrwx 1 bob bob 269 May 24 input_1 ... (n-2 lines omitted) -rwxrwxrwx 1 bob bob 2.0K Jan 19 input_n 

Preguntas:

  • ¿Hay una explicación simple para este comportamiento aparentemente inconsistente (para mí)?
  • ¿A donde voy desde aqui?

Necesita ejecutar permissions en /home/bob/inputs . Puedes configurarlo con:

 chmod a+x /home/bob/inputs 

Ejecute ls -ld /home/bob/inputs/ . Creo que verás que Bob te dio permiso de lectura en el directory, pero no ejecuta el permiso, es decir, algo así como drwxr--r-- . En un directory, el permiso de lectura le permite ver la list de files, mientras que el permiso de ejecución le permite acceder a los files en el directory. Hay circunstancias excepcionales en las que es útil hacer un directory ejecutable y no legible; lo contrario es bastante inútil. Casi todo el time, un directory debe ser accesible (legible y ejecutable) o no accesible (no legible ni ejecutable).

Consulte ¿Por qué los directorys necesitan que se abra el permiso ejecutable (X)? para más explicaciones.

Remedio: pregunte a bob para ejecutar chmod a+rx ~/inputs .