Los permisos se dividen en tres niveles para los directorios o archivos en linux que son:
Propietario - Grupo - Otros
A cada nivel de permiso se le tiene asignado un valor numérico.
- Lectura (r) = 4
- Escritura (w) = 2
- Ejecución (x) = 1
Ahora bien para asignar permisos se usa el comando chmod, solo tenemos realmente que sumar los valores de los permisos que queremos darle a cada nivel:
$ chmod 755 suarchivo.txt
En el comando anterior vemos que tiene a nivel propietario los permisos de lectura, escritura y ejecución (4+2+1), a nivel Grupo y Otros tiene permisos lectura y ejecución (4+1).
Si ejecutamos el siguiente comando que es para listar el directorio con detalles prodremos ver los privilegios asignados al archivo en el sistema:
$ ls -l suarchivo.txt
-rwxr-xr-x ...
Otra forma de asignación de privilegios:
Tomando en cuenta con explicado anteriormente, retomamos que tenemos los privilegios de lectura (r), escritura (w) y ejecución (x); y que los niveles de propietarios son usuario (u), grupo (g) y otros (o). De esta manera nosotros podemos asignar (+) o des asignar (-) privilegios.
Sintaxis: chmod ( u - g - o )( + / - )( w - r - x )
Siguiendo con el ejemplo anterior, aplicando esta sintaxis quedaría de esta forma:
$ chmod u+rwx suarchivo.txt
Asignamos privilegios de lectura, escritura y ejecucion al usuario
$ chmod go+rx suarchivo.txt
Asignamos privilegios de lectura y ejecución al grupo y a otros
Entender este concepto es muy importante para no tener el terrible fallo de siempre estarle asignando a todos los archivos y directorios de tu linux permisos que no deben tener y con ello comprometer la seguridad de tu sistema.