0 votos

Cómo encontrar la ruta real de un archivo

Estoy intentando acceder a un archivo en mi MacBook Pro a través de una aplicación web que se ejecuta en Tomcat en Eclipse (localhost). Siempre que intento acceder al archivo, recibo la siguiente Excepción de E/S:

Excepción:  /private/var/appname/app_config.txt (No existe el archivo o directorio)

Este archivo sí existe y cuando uso Apple+I, la ventana de información del archivo muestra esta ubicación:

/private/var/appname

Entonces, ¿por qué la aplicación web recibe la excepción de (No existe el archivo o directorio)? ¿Cómo obtengo la ruta real si la ventana de información del archivo no es válida a través de la aplicación web?

EDITAR

Los permisos en el archivo en cuestión son:

-rw-r--r--

donde el propietario es el contexto de usuario bajo el cual se está ejecutando la aplicación web, lo cual se determina ingresando lo siguiente en la terminal:

ps axu -w

Los permisos en el directorio appname son los siguientes:

drwxr-x---   

donde nuevamente, el propietario es el contexto de usuario bajo el cual se está ejecutando la aplicación web.

Y finalmente, el directorio var tiene permisos:

drwxr-xr-x

con root como propietario.

enter image description here

Además, al eliminar private de la ruta, resulta en la misma excepción exacta, sin el private en la ruta:

Excepción:  /var/appname/app_config.txt (No existe el archivo o directorio)

1voto

James Marshall Puntos 528

¿Cómo se identidad de usuario está ejecutando la aplicación Tomcat / Apache? Mientras puedes leer el archivo con tu cuenta, si el servidor de aplicaciones se está ejecutando como un usuario con derechos limitados o en un entorno chroot'd, no podrás ver el archivo. Descubre la cuenta de usuario con la que está funcionando e intenta hacer su a esa cuenta y luego busca si puedes leer el archivo.

0voto

DOK Puntos 21175

Lo primero que verificaría es que Tomcat o Eclipse o cualquier otra cosa que estés intentando acceder al archivo tenga los suficientes permisos para la operación. No es raro que las aplicaciones informen "archivo no encontrado" cuando lo que están tratando de decir es "no puedo acceder a la cosa"

Abre Terminal, escribe

cd /private/var/nombre_de_la_aplicación

y luego

ls -al

y mira quién es el propietario y qué modo reporta el archivo, y a partir de ahí continua.

Dado que /private/var/nombre_de_la_aplicación no es legible por todos, agregaría eso a los permisos y vería si eso hace alguna diferencia.

chmod a+r /private/var/nombre_de_la_aplicación

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