lunes, 3 de diciembre de 2018

Shell de Linux

Los permisos de Linux, es una parte fundamental en su aprendizaje, ya que involucra el acceso, la seguridad, la accesibilidad y la comodidad de los usuarios para ejecutar sus tareas de acuerdo al nivel de acceso que éste posee en el sistema. Es importante por esto aprender cómo funciona y cuál es la importancia del comando chmod, así como saber también las posibles consecuencias de un mal uso o de una no-aplicación de este último.
Nuestro sistema nos proporciona un mecanismo conocido como permisos para proteger ficheros de usuarios del sistema, de la manipulación de otros usuarios, ya que Linux como sabemos es multiusuario. Los permisos están divididos en tres tipos:

1. Permisos de lectura, representado por la letra "r".
2. Permisos de escritura, representado por la letra "w".
3. Permisos de ejecución, representado por la letra "x".

A su vez estos permisos pueden ser fijados para tres clases de usuarios:

1. Dueño del archivo: u.
2. Grupo al que pertenece el archivo: g.
3. El resto de usuarios: o.

Aquí vemos un ejemplo en cuanto a permisos de un fichero: root@badclustering$ ls -l /home/ drwxr-xr-x 27 juanito 3456 Jan 10 13:03 juanito permisos prop. Grupo fecha nombre del fichero.

Hay que tener en cuenta que los permisos de los archivos dependen de los permisos del directorio en el que se encuentra, ya que, si no tenemos acceso al directorio, no podemos tener acceso a los archivos que éste contiene.

El comando chmod


El comando chmod es el que te va a permitir manipular todos los permisos a tu gusto, consta de 3 operadores, veamos cuales son:
1. "+" para agregar permisos.
2. "-" para quitar permisos.
3. "=" para asignar permisos.

Por ejemplo, podríamos establecer para asignar permisos de ejecución a un fichero: chmod +x fichero.
En este caso estamos dándole permisos de ejecución, tanto para el usuario propietario, el grupo y para el resto de usuarios.

¿Pero qué sucede, si yo solo quiero que el propietario del sistema tenga permisos de ejecución del fichero, y no todos los demás como lo acabo de hacer anteriormente?


Pues para eso le indicamos así:




Análogamente lo puedes hacer para darle permisos al grupo o al resto con las letras g y o respectivamente.

Definiendo permisos con el sistema


Existe otro método para definir permisos. Este sistema se llama: "sistema octal". En este sistema los números representan permisos. Por ejemplo: 0001, 0100, 0400, 1000, etcétera.
Estos se basan en la suma de los 3 valores: los de lectura, escritura y ejecución:

Ejecución -> valor 1
Escritura -> valor 2
Lectura -> valor 4

La combinación de estos, nos da números del cero al siete, de esta manera:

0 = sin permisos.
1 = ejecución.
2 = escritura.
3 = escritura y ejecución.
4 = lectura. 5 = lectura y ejecución.
6 = lectura y escritura.
7 = lectura, escritura y ejecución.

Veamos un ejemplo:




Esto quiere decir que al propietario le estamos dando los permisos de lectura, escritura y ejecución. Para el grupo los permisos de lectura y ejecución, igualmente para el resto de usuarios, ya que ambos tienen el permiso 5.

Permisos Especiales


Existen además de los permisos ya mencionados otros permisos, que los necesitarás en alguna oportunidad, y que es necesario que sepas. Son los permisos de SUID, SGID y el sticky bit.
4000 Establece el número de identificación de usuario al ejecutarse SUID.
2000 Establece el número de identificación de grupo al ejecutarse SGID.

1000 Establece el bit adhesivo (sticky bit).

No hay comentarios:

Publicar un comentario