Cuando yo ls -la
, imprime muchos atributos. Algo como esto:
-rwSrwSr-- 1 www-data www-data 45 2012-01-04 05:17 README
Vergonzosamente, tengo que confesar que no sé el significado exacto de cada atributo. Por ejemplo, ¿cuál es el significado de grande S
en la cadena -rwSrwSr--
? ¿Qué es lo siguiente 1
? Conozco a otros más o menos.
permissions
ls
Eonil
fuente
fuente
Respuestas:
La documentación del
ls
comando responde a estas preguntas. En la mayoría de las variantes de Unix, busque lals
página de manual (man ls
o en línea). En Linux, busque la documentación de Información (info ls
) o en línea .La letra
s
indica que el bit setuid (o setgid, dependiendo de la columna) está establecido. Cuando un ejecutable es setuid, se ejecuta como el usuario propietario del archivo ejecutable en lugar del usuario que invocó el programa. La letras
reemplaza a la letrax
. Es posible que un archivo sea setuid pero no ejecutable; esto se denota porS
, donde la capital leS
avisa que esta configuración probablemente sea incorrecta porque el bit setuid es (casi siempre) inútil si el archivo no es ejecutable.Cuando un directorio tiene permisos setuid (o setgid), cualquier archivo creado en ese directorio será propiedad del usuario (o grupo) que coincida con el propietario (o grupo) del directorio.
El número después de los permisos es el recuento de enlaces duros . Un enlace duro es una ruta a un archivo (un nombre, en otras palabras). La mayoría de los archivos tienen una sola ruta, pero puede hacer más con el
ln
comando. (Esto es diferente de los enlaces simbólicos: un enlace simbólico dice "oh, en realidad, este archivo está en otra parte, vaya a <ubicación>"). Los directorios tienen enlaces duros N + 2 donde N es el número de subdirectorios, porque se puede acceder a ellos de sus padres, de ellos mismos (a través de la.
entrada) y de cada subdirectorio (a través de la..
entrada).fuente
$ ls /Users
devolucionesdrws--S---+ 12 jdoe staff 408 Jul 9 2013 jdoe
x
permiso execute ( ).De acuerdo con
info coreutils ls
(que podría no ser exactamente lo que tienes):El número después de la parte del permiso es el número de enlaces duros.
fuente
chmod g-x,g+s dir
En términos (con suerte más simples), esto significa. El directorio es setgid. Cualquier archivo creado allí será propiedad de ese grupo del propietario de esa carpeta.
Sin embargo, la carpeta no es ejecutable por el grupo, por lo que se muestra en mayúscula S. Esto suele ocurrir cuando se crea un directorio y el directorio terminará como setgid.
Hm ... No estoy seguro si eso realmente sonaba como un simple inglés arriba ...
fuente
Es porque falta el ejecutable
s -> 'x' está habilitado S -> 'x' está deshabilitado.
ver abajo ejemplo
fuente