Propiedades de Archivos regulares y Permisos
Linux es un entorno multiusuario Varias personas pueden estar trabajando al mismo tiempo ◦ Ejemplo Usuario A: Trabajando con editor de texto Usuario B: Trabajando con Open Office Root: Administrando
Linux tiene tres propiedades que permiten a los usuarios controlar quién tiene acceso al archivo y cómo: ◦ Usuario propietario ◦ Grupo propietario ◦ Permisos otorgados
Cuando un usuario crea un archivo ◦ Se convierte en el propietario del archivo ◦ El grupo primario del usuario, se convierte en el propietario del archivo Los bits de permiso definen la forma como las tres clases diferentes de usuarios pueden usar el archivo
Las Clases de Usuario son ◦ El propietario del archivo ◦ Los miembros del grupo que poseen el archivo ◦ Cualquier otro usuario.
Nombre Archivo Usuario Grupo
Al decidir quién puede tener acceso al archivo, un usuario puede distinguir entre tres tipos de permisos.
Cada archivo tiene una serie de permisos de lectura(r), escritura(w), y ejecución(X) Por lo general son 9 los caracteres de permisos Cada serie de permisos es aplicable a un tipo de acceso
Los tipos de acceso son: ◦ Usuario: Propietario de archivo ◦ Grupo: Grupo al que pertenece el usuario ◦ Otros: Usuarios que no pertenecen al grupo
1. ¿El usuario es propietario del archivo? Si lo es entonces utiliza los permisos de usuario. 2. ¿El usuario es miembro del grupo que dueño del archivo? Si lo es entonces se utilizan los permisos de grupo. 3. De lo contrario, se utilizan los otros permisos.
Cambio en los permisos de archivos
Cuando alguien crea un archivo, por defecto el archivo puede ser modificado por sólo una persona, pero puede ser leído por todos en el sistema. Usualmente, en Linux, al permiso de archivo se le conoce como el "modo" del archivo.
El comando chmod permite cambiar cualquier permiso asociado con un archivo. El nombre chmod es un atajo para cambiar modo.
El primer argumento está compuesto por una secuencia de letras que especifican las clases de acceso, seguidas por los signos: más, menos, o igual y por otra secuencia de letras que especifican el tipo de permiso a cambiar.
Cualquier argumento subsecuente especifica una lista de archivos para aplicar los cambios.
Cambio de Propiedad de Archivos
Todos lo usuarios tienen asignados un id de usuario Los nombres e ids de usuarios se guardan en /etc/passwd Los usuarios tienen un directorio home asignado Los usuarios no pueden leer, ejecutar y escribir los archivos de otros usuarios sin su permiso
Los usuarios tienen un grupo asignado mediante su id de grupo (gid) Los gids son guardados en /etc/group Cada usuarios tiene asignado su propio grupo privado ◦ Aunque pueden agregarse a otros grupos adicionales llamados secundarios Todos los usuarios pueden compartir archivos mediante su grupo
¿Qué sucedería si usted quisiera compartir el archivo con un grupo de personas pero no con todos? ¿qué pasaría si quisiera modificarlo?
Cuando se crea un archivo ◦ El archivo pertenece al usuario ◦ Pertenece al grupo primario del usuario En RHEL, éste sería usualmente el grupo privado del creador. No es útil para trabajar en colaboración Para compartir el archivo, lo debe cambiar el propietario del archivo de grupo
chgrp GROUP ARCHIVO… ◦ El primer argumento especifica el nuevo grupo propietario de archivo ◦ Los argumentos subsecuentes listan los archivos cuyo propietario de grupo se va a cambiar
El propietario del grupo sólo lo puede cambiar el usuario dueño del archivo, y el usuario debe ser un miembro del nuevo grupo de propietarios del archivo. chgrp groupx archivo.txt
En raras ocasiones, es necesario que el administrador cambie el usuario propietario del archivo. Esto se puede hacer utilizando chown
chown USER ARCHIVO... ◦ El primer argumento es el nombre del nuevo usuario del archivo ◦ Los argumentos siguientes son los nombres de los archivos a cambiar Sólo el usuario administradores (root) puede usar chown
Propiedad de Directorios y Permisos
Un directorio es solo un tipo especial de archivo Tienen las mismas clases de permisos ◦ lectura (r), escritura (w) y ejecución (x) ◦ Un usuario propietario ◦ Un grupo propietario y las mismas clases de acceso ((u)suario, (g)rupo,y (o)tro).
Los directorios se utilizan de manera diferentes a los archivos Los permisos de directorio tienen diferentes interpretaciones ¿Qué hace la gente con los directorios? ◦ Se listan los contenidos ◦ Borran archivos ◦ Crear nuevos archivos ◦ Mover archivos
Los permisos de directorios tienen la siguiente interpretación ◦ Leer (r): Listar contenido del directorio ◦ Escribir (w): Agregar o suprimir un archivo ◦ Buscar (x): Permite referirse a cualquier archivo dentro de un directorio (incluyendo subdirectorios)
Un directorio de inicio no sigue los permisos predeterminados En Red Hat Enterprise Linux, los directorios de inicio están "protegidos". Por defecto, sólo el usuario propietario de un directorio de inicio tiene permisos de buscar
Para modificar los permisos de los archivos se puede utilizar el comando chmod Los permisos de los directorios son heredables, por lo tanto considere el permiso del directorio padre
Para compartir un directorio presente en home, es necesario otorgar permisos de ejecución y lectura al home
¿Puede ocasionar un problema permitir dar permisos de ejecución al directorio home? SI, ya que si existiera otro subdirectorio puede ser accedido por los valores por defecto
¿Cómo solucionarlo? Modificando los permisos del subdirectorio
Revisitando chmod: Notación Octal
El comando chmod puede usar un sintaxis octal alterna La sintaxis octal es a menudo más rápida
¿De dónde salió 600? Con la notación octal, cada clase de acceso obtiene un dígito, las "centenas" para el usuario (u); las "decenas" para el grupo (g) y las "unidades" para otro (o).
A cada tipo de permiso se le concede un valor: ◦ Read (r): 4 ◦ Write (w): 2 ◦ Execute (x): 1 Los dígitos de una notación octal son la suma de los permisos concedidos para cada clase de acceso.
Ejemplos