No hay mejor forma de entender el proceso que acceder a las cadenas de bits de protección de cada fichero, primero para su lectura y más tarde para su modificación. Para ello, se empleará la opción -l del comando ls que proporciona una salida como:
--rwxr-xr-x 1 echeva 127 Jan 20 1:24 fichero
La salida aquí presentada se obtendría de un UNIX "estándar". En Linux, se obtendrá la presentada en el listado 1.
Observando la figura 2 se entenderá mejor el significado de los bits de la cadena.
Cuando un bit este activo, se mostrará la letra correspondiente a la forma de acceso que representa y si está inactivo aparecerá como un guión. Así, el ejemplo presenta un fichero con permisos de lectura, escritura y ejecución (rwx) para el propietario, y de sólo lectura y ejecución (r-x) para todos los demás. En algunos casos puede aparecer una s en el lugar de un bit de permiso, que indicará un setuid o setgid, es decir, herencia de propiedades de grupo o de propietario para el usuario que ejecute el fichero. En el capítulo anterior se mencionaba que un proceso adquiría los permisos del sujeto que lo hab¡a lanzado. Sin embargo, en ocasiones, puede interesar que se hereden los permisos del propietario del fichero. Es el caso del comando passwd, proceso que debe poder ejecutar cualquiera y en cambio, tener permisos de root para modificar el fichero /etc/passwd que sólo tiene permiso de escritura para el mismo root. Examinando sus cadenas de permiso (listado 1) se puede ver cómo dispone de factor de herencia. Se puede también observar que existe un décimo carácter que definirá el tipo de fichero:
s, si es un socket
l, si es un enlace simbólico
d, si es un directorio
c, si es un dispositivo de caracteres
b, si es undispositivo de bloque
-, si es un fichero corriente
(se recuerda que para UNIX todo son ficheros).
Para saber a qué grupo pertenece cada fichero se puede utilizar
ls -lg
En Linux la opción -g carece de significado, ya que queda englobada directamente en la opción -l. En general, existe un grupo principal al que pertenece cada usuario cuyo número se encuentra en su entrada en el fichero /etc/passwd. Es a este grupo al que pertenecerán por defecto todos los ficheros de ese usuario.