Este tipo de protección nos permite bloquear el acceso a los archivos a usuarios que no son propietarios y no pertenecen a un grupo especifico. Nosotros como propietarios de los archivos podemos asignar ciertos derechos a otros usuarios para que puedan leer, escribir y ejecutar los archivos o directorios.
Usuarios
Todos los sistemas del tipo Unix poseen un superusuario, que es el administrador del sistema, por lo que prácticamente tiene acceso a todo el sistema y se conecta bajo el nombre de root y su ID de usuario en 0.
El usuario de un archivo es el propietario del archivo, también puede ser un usuario que pertenezca a un grupo del propietario u otros usuarios. Pero únicamente el propietario del archivo puede asignar los permisos a los demás usuarios.
- u . Usuario
- g . Grupo
- o . Otros
Permisos de acceso
Se tienen tres permisos de acceso: r (leer), w (escribir) y x (ejecutar). En el caso del permiso de ejecución tratandose de archivos, se aplica a archivos binarios o de un guión de shell y en el caso de los directorios, solo permite visualizar su contenido.
Un archivo puede tener hasta nueve permisos distintos, ya que existen tres tipos de usuarios y tres permisos para cada uno.
Identificación de los permisos de acceso
Para averiguar los permisos que tiene cada archivo o directorio, basta con ejecutar el camando ls -l o ls -ld.
Imagen pendiente
En los permisos de acceso, se muestran 10 caracteres, la primer posición indica si es una archivo (-) o un directorio (d), los siguientes nueve caracteres son los permisos del archivo o directorio, el primer grupo de tres son los permisos del propietario/usuario (u), los siguientes tres permisos son de usuarios que pertenecen a un grupo (g) y los últimos tres son para otros usuarios (o).
Modificación de los permisos
Los permisos de acceso se pueden modificar con el comando chmod (change mode/cambiar modo).
Sintaxis
chmod [opciones] quien-operador-permisos archivos chmod [opciones] valor-octal archivos
Valores para Quien-Operador-Permiso
- Quien: u (usuario), g (grupo), o (otros), a y ugo (todos).
- Operador: + (dar permiso), - (quitar permiso), = (fijar permiso).
- Permisos:
r, w, x: Bit de lectura, escritura y ejecución respectivamente.
u, g, o: Permisos del Usuario, Grupo u Otros.
Valor-Octal
Calculemos el modo octal. Solo tenemos que formar un valor de tres cifras, la primer cifra nos indica el permiso del propietario, la segunda los permisos de los grupos y la última de los otros usuarios.
Cada permiso cuenta con un valor, como se muestra a continuación:
- r – 4
- w – 2
- x – 1
Solo tenemos que sumar los valores de los permisos asignados a los tres tipos de usuarios, ejemplo:
Usuario: r = 4, w = 2, x = 1; 4 + 2 + 1 = 7
Grupo: r = 4, w = -, x = 1; 4 + 1 = 5
Otros: r = 4, w = -, x = 1; 4+1 = 5
Valor octal: 755
Los permisos se deben mostrar de la siguiente forma: rwxr-xr-x
Ejemplos
Ahora veamos algunos ejemplos:
chmod a+x Proyectos: Permite a todos los usuarios ejecutar Proyectos chmod g=u Proyectos: Da los mismos permisos del propietario a un grupo sobre Proyectos chmod go= Proyectos: Elimina todos los permisos de Proyectos a los usuarios del grupo y a los demas chmod 700 Proyectos: Da todos los permisos al propietario y elimina todos los permisos a los de más usuarios.