Permisos

PERMISOS

Cada archivo tiene un conjunto de permisos asociados con él, los cuales determinen que hacerse con el archivo y quien puede hacerlo.

Existe un usuario especial en cada sistema UNIX, llamado superusuario, quien puede leer o modificar cualquier archivo en el sistema. La clase de acceso especial root posee privilegios de superusuario: esta la emplean los administradores del sistema cuando llevan a cabo el mantenimiento del mismo. Existe también un comando llamado su que otorga un status de superusuario si se conoce la contraseña de root. Por eso no es recomendable guarda ningún material confidencial en el sistema de archivos.

Si el usuario requiere mayor seguridad, puede cambiar los datos en un archivo de manera que ni aun el superusuario puede leerla ( o al menos entenderla) usando el comando crypt.



Cuando un usuario entra en sesión, teclea un nombre y después confirma que efectivamente es esa persona tecleando una contraseña ( password ) El nombre es la identificación para iniciar la sesión del usuario, o login-id. Pero el sistema en realidad reconoce al usuario por medio de un número, llamado su “ identificación ( o identificación) de usuario ” o uid.


El sistema de archivos y por tanto el sistema UNIX en general determinan lo que el usuario hacer mediante los permisos otorgados a su uid y a su group-id.

El archivo es texto ordinario, pero las definiciones de los campos y los separadores son una convención reconocida por los programas que usan la información del archivo.

Existen tres tipos de permisos para cada archivo: leer ( es decir, examinar su contenido ), escribir ( es decir, cambiar su contenido ) y ejecución ( es decir, ejecutarlo como un programa ). Además, se puede aplicar un permiso diferente a cada persona. Como dueño de un archivo, el lector posee un conjunto de permisos de lectura, escritura y ejecución. Su grupo tiene otro conjunto. Los demás tienen un tercer conjunto.

El bit de set-uid es una idea simple pero elegante que resuelve varios problemas de seguridad.

Es particularmente serio para un programa con atributo set-uid ya que root tiene permisos de acceso a cualquier archivo en el sistema. ( Algunos sistemas UNIX apagan el bit-uid cuando un archivo se modifica, para reducir el peligro de una falla de seguridad )

Existen llamadas al sistema que crean y borran archivos, y solo a través de ellas es posible cambiar el contenido de un directorio. Sin embargo, la idea de los permisos aun se aplica.

Los permisos para borrar archivos son independientes del archivo mismo. Si el usuario tiene permiso de escritura en un directorio, puede borrar archivos de el, aun los que estén protegidos contra escritura.