Vemos una línea de listado mostrada con el comando ls
con la opción -l
:
Donde:
Fichero de datos normales.- Puede ser un texto, un programa ejecutable, gráficos, datos comprimidos o, simplemente, cualquier otro tipo de datos.
Directorio.- Son ficheros como otros cualquiera, pero que contienen nombres de fichero y punteros a los nodos del disco.
Enlace simbólico.- Es el fichero que contiene el nombre de otro fichero o directorio. Cuando Linux accede al enlace simbólico, este intenta leer el fichero enlazado.
Pipe.- Permite comunicarse entre sí a dos programas Linux en ejecución. Uno abre el fichero para lectura y el otro lo abre para escritura, así permite la transferencia de datos entre los programas.
Socket.- Similar a un pipe con nombre, pero permitiendo enlaces de red bidireccionales.
Dispositivo de bloque.- Es un fichero que se corresponde con un dispositivo de hardware hacia y desde el que se transfieren los datos en unidades de un byte. Los dispositivos de disco (discos duros, disquettes, CD-ROM, etc.) son dispositivos de bloques comunes.
Dispositivo de caracteres.- Es un fichero que se corresponde con un dispositivo de hardware hacia y desde el que se transfieren los datos en unidades de un byte. Por mencionar algunos ejemplos se incluyen dispositivos con puertos en paralelo y RS-232 en serie.
En todos estos casos, la cadena de permiso nos determina los tres tipos de acceso:
Los permisos de lectura y escrituras saltan a la vista en los ficheros normales. Si incluimos el permiso de ejecución significa que podemos ejecutarlo como un programa. La ausencia de los permisos se denota mediante un guión (-
) en la cadena de permisos.
Veamos algunos ejemplos gráficos de la cadena de permisos:
Cadena de permisos | Código octal | Significado |
---|---|---|
rwxrwxrwx |
777 |
Permisos de lectura, escritura y ejecución para todos los usuarios. |
rwxr-xr-x |
755 |
Permisos de lectura y escritura para todos los usuarios. El propietario del fichero también tiene permiso de escritura. |
rwxr-x--- |
750 |
Permisos de lectura y escritura para el propietario y el grupo. El propietario del fichero también posee permiso de escritura. Los usuarios que no son propietarios del fichero o miembros del grupo no tienen acceso a éste. |
rwx------ |
700 |
Permiso de lectura, escritura y ejecución sólo para el propietario del fichero; los demás no tendrán acceso. |
rw-rw-rw- |
666 |
Permiso de lectura y escritura para todos los usuarios. |
rw-rw-r-- |
664 |
Permiso de lectura y escritura para el usuario y el grupo.Para el resto sólo permiso de lectura. |
rw-rw---- |
660 |
Permiso de escritura y lectura para el propietario y el grupo. No hay permisos globales. |
rw-r--r-- |
644 |
Permiso de lectura y escritura para el propietario. Permiso de solo lectura para el resto. |
rw-r----- |
640 |
Permisos de lectura y escritura para el propietario y se sólo lectura para el grupo. No hay permisos para los demás. |
rw------- |
600 |
Permisos de lectura y escritura para el propietario. Nadie más tiene permiso. |
r-------- |
400 |
Permiso de lectura para el propietario. Nadie más tiene permiso. |
Los permisos de ejecución tiene sentido para los ficheros normales, pero no para los demás tipos de fichero, tales como los ficheros de dispositivo. Sin embargo, los directorios utilizan el bit de ejecución de otra manera. Al definir el bit de ejecución de directorio significa que se puede buscar en el contenido del directorio. Es una característica muy interesante en el que está definido siempre el bit de ejecución junto al de lectura.
Los directorios pueden resultar un poco confusos en lo referente al permiso de escritura. Recuerde que los directorios son ficheros que son interpretados de una manera especial. Si un usuario puede escribir en un directorio, dicho usuario podrá crear, borrar o renombrar los ficheros del directorio, incluso no siendo el propietario de dichos ficheros y no tiene permiso para escribir en éstos. Podemos usar el sticky bit (que comentaremos más adelante) para alterar este comportamiento.
Son poco usuales los enlaces simbólicos con respecto a los permisos. Este tipo de fichero siempre tiene permisos 777
(rwxrwxrwx
), que conceden acceso completo al fichero a todos los usuarios. Sin embargo, este acceso se aplica sólo al propio fichero del enlace, pero no al fichero enlazado. O sea, que todos los usuarios pueden leer el contenido del enlace para saber el nombre del fichero al que apunta, pero son los ficheros enlazados los que determinan el acceso a éste. El cambio de los permisos del enlace simbólico afectará al fichero enlazado.
Muchas de estas reglas no se aplican a root
. El superusuario puede leer o escribir en cualquier fichero del ordenador, incluso en ficheros que no conceden acceso a nadie (los que tienen permisos 000). El superusuario necesita aún que se defina un bit de ejecución para poder ejecutar un fichero de programa, pero tiene el poder para cambiar los permisos de cualquier fichero, por lo que esta limitación no es importante. Claro está, root
no podrá acceder a algunos ficheros del disco duro (sobre todo si no está instalado el disco duro en el ordenador).
Debe estar conectado para enviar un comentario.