CHMOD la importancia de los permisos

Este articulo esta pensado para todos aquellos que empiezan a trabajar con un sistema como es Linux y desconocen el funcionamiento y la importancia de los permisos en su sistema (permisos para un servidor Apache, un servidor ftp, etc.).

Aquí intentaremos explicar básicamente: el comando chmod, su funcionalidad, su importancia y las posibles consecuencias de un mal uso o de una no-aplicación de este último.

Empecemos diciendo que 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 y representado por la letra “r”.

2.- permisos de escritura y representado por la letra “w”.

3.- permisos de ejecución y representado por la letra “x”.

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

1.- propietario del fichero.

2.- grupo al que pertenece el fichero.

3.- el resto de usuarios.

Aqui vemos un ejemplo en cuanto a permisos de un fichero:

root@badclustering# ls -l /home/

drwxr-xr-x 27 mark mark 1536 Sep 17 13:03 mark

permisos prop. grupo fecha nombre del fichero.

Es importante darse cuenta que los permisos de ficheros dependen de los del direcotrio, tanto es asi que si no tenemos acceso al directorio pero si la archivo , no podríamos acceder a este último.

Para definir permisos, usaremos CHMOD. Este comando acepta tres operadores:

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 punto tenemos que hacer una distinción para poder establecer aun más un control sobre los permisos que ponemos, es decir, si queremos poner permisos de ejecuciòn a un archivo pero para el usuario de ese archivo ponemos: chmod u+x fichero. Como vemos hemos usado la “u” que es “user” tb existe la “g” que proviene de “group”. Haciendo un inciso , diremos que todo esta información puede ser revisada haciendo un simple : man chmod.

Por otra parte existe otro método para definir permisos. Este sistema se llama : “sistema octal”.
En este sistema los numeros representan permisos. Por ejemplo: 0001, 0100, 0400, 1000, etcétera. El problema de este tipo de sistema de asignar permisos es que conlleva que los permisos adquiridos se expresan en un número final bastante amplio y puede ser engorroso y a mi gusto es simplemente didáctico para conocer este sistema octal. Pero, para facilitar las cosas , podemos usar el sistema tan solo usando 3 valores que a continuación veremos:

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.

Así por ejemplo, podríamos poner: chmod 755 fichero. este querría decir que para el propietario del archivo o fichero tiene permisos de escritura lectura y ejecución, para el grupo tendría de lectura y ejecución y por último para el resto de usuarios tendría los mismos permisos que para el grupo antes mencionado. Esto tan solo es un ejemplo del funcionamiento con esto no se quiere reflejar que sean los permisos mas adecuados.

Para finalizar hablaremos de dos permisos especiales : SGID y SUID. En cuanto a estos permisos, decir que los programas con este tipo de permisos especiales respetan los permisos del propietario aun cuando sean usados por otro usuarios. Es decir, que si un usuario ejecuta un archivo con SUID y el propietario es root pues tendra privilegios de root en ese archivo con lo que conlleva por tanto. Los archivos con SUID podemos buscarlo introduciendo este simple comando en una terminal:

find / -perm +4000 (+2000 para SGID).

Algunos archivos con este tipo de permisos pueden resultar ser un problema de seguridad. Para solventar en cierta medida este punto podríamos cambiar los permisos de los programas afectos por este tipo de permisos que no lo necesiten. Sería sencillamente ejecutando: chmod -s archivo. También podríamos eliminar aquellos programas con este tipo de permiso que no sean útiles. Podríamos tb asegurarnos que no se puede escribir en los script de SUID e instalar alguna herramienta que verifique los archivos suid del sistema como pueda ser COPS.

Bueno esto ha sido todo, explicado de una forma genérica para saber algo mas sobre los permisos y su importancia dentro de un sistema. Siempre podremos consultar información sobre chmod en su página de información.

4 pensamientos sobre “CHMOD la importancia de los permisos”

  1. Hola.

    Con

    chmod o+w directorio

    activo permiso de escritura para el resto de los usuarios, pero ¿qué hago si quiero otorgar el permiso solamente a un usuario en particular y no a todos?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>