Estoy tratando de cambiar los permisos de una carpeta temporalmente cuyos permisos iniciales son
user@ubuntu:/var/log$ ls -l squid*
squid3:
total 4
-rw-r----- 1 proxy proxy 0 Jan 16 14:43 access.log
-rw-r----- 1 proxy proxy 1359 Jan 16 14:43 cache.log
ls: cannot open directory squid-deb-proxy: Permission denied
a algo que sigue
user@ubuntu:/var/log$ sudo chmod -R 644 squid*
user@ubuntu:/var/log$ ls -l squid*
squid3:
ls: cannot access squid3/cache.log: Permission denied
ls: cannot access squid3/access.log: Permission denied
total 0
-????????? ? ? ? ? ? access.log
-????????? ? ? ? ? ? cache.log
squid-deb-proxy:
ls: cannot access squid-deb-proxy/store.log: Permission denied
ls: cannot access squid-deb-proxy/cache.log: Permission denied
ls: cannot access squid-deb-proxy/access.log: Permission denied
total 0
-????????? ? ? ? ? ? access.log
-????????? ? ? ? ? ? cache.log
-????????? ? ? ? ? ? store.log
Notarás que después del cambio de permisos hay signos de interrogación en todas partes. ¿Por qué está pasando esto? Básicamente quiero leer el registro de acceso para ver si el servidor squid-deb-proxy está recibiendo solicitudes del cliente o no.
fuente
chmod -R 644 squid*
rw-r--r--
, que es adecuado para archivos, pero no para directorios. Los directorios también deben tener configurado el permiso de ejecución, como este:rwxr-xr-x
o 755. El comando que mencionó desarma el permiso de ejecución en todos los archivos y directorios de forma recursiva, lo que provoca estos errores.Yo tuve este problema también. No pude hacer chmod o chown en el archivo. Intenté eliminarlo. Resulta que intentar eliminarlo (comando rm) causó el problema. La patada es que el archivo se comparte entre dos sistemas diferentes . Una vez que cerré el archivo en el otro sistema, el archivo desapareció. Aquí hay más detalles de mi configuración. sistema 1: Ubuntu VM invitada. Aquí es donde hice el comando rm. sistema 2: host de Windows 7. Aquí es donde había abierto el archivo usando el comando less (en cygwin, no es que sea necesariamente relevante).
fuente
Como dijiste que tu objetivo es leer
/var/log/squid/access.log
, tu mejor solución es escribirsudo less /var/log/squid/access.log
, lo que ahorra la molestia de cambiar repetidamente.fuente