¿Cuál es la diferencia entre 'ls' y 'ls -l' cuando no tengo permiso de ejecución en ese directorio?


11

Creé un directorio llamado foldery quité el permiso de ejecución.

$ mkdir folder
$ touch folder/innerFile
$ mkdir folder/innerFolder
$ chmod -x folder

Ahora si lo hago

$ ls folder

genera una lista de archivos, pero cuando lo hago

$ ls -l folder

yo obtengo

ls: innerFile: Permission denied
ls: innerFolder: Permission denied

¿Porqué es eso?


44
Mira esta respuesta. Tiene respuestas a tu pregunta.
Ramesh

2
"¿Cuál es la diferencia entre 'ls' y 'ls -l' cuando no tengo permiso de ejecución en ese directorio?" Básicamente, es la misma que la diferencia entre 'ls' y 'ls -l' cuando no tengan permiso de ejecución en el directorio.
G-Man dice 'Restablecer a Monica' el

Respuestas:


18

ls -len una carpeta intenta statsu contenido, lspero no:

$ strace ls folder -l
...
lstat("folder/innerFolder", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
getxattr("folder/innerFolder", "system.posix_acl_access", 0x0, 0) = -1 ENODATA (No data available)
getxattr("folder/innerFolder", "system.posix_acl_default", 0x0, 0) = -1 ENODATA (No data available)
lstat("folder/innerFile", {st_mode=S_IFDIR|0755, st_size=40, ...}) = 0
getxattr("folder/innerFile", "system.posix_acl_access", 0x0, 0) = -1 ENODATA (No data available)
getxattr("folder/innerFile", "system.posix_acl_default", 0x0, 0) = -1 ENODATA (No data available)
...

Es por eso que obtienes un "permiso denegado" con ls -ly no con ls.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.