Los permisos son uno de los aspectos ms importantes de Linux (en realidad, de todos los sistemas basados en Unix). Estos se utilizan para varios fines, pero sirven principalmente para proteger el sistema y los archivos de los usuarios y por ello el comando CHMOD nos permite modificar cualquier permiso.
Manipular los permisos es una actividad interesante, pero compleja al mismo tiempo. Pero tal complejidad no debe ser interpretada como una dificultad, sino como una posibilidad de hacer frente a una gran variedad de configuraciones, lo que permite crear diversos tipos de proteccin a los archivos y directorios.
Por supuesto, la forma utilizada para especificar lo que cada usuario del sistema puede hacer es la determinacin de permisos. Siendo as, en este artculo vers cmo establecer permisos de archivos y directorios, as como modificarlos.
Un punto interesante de mencionar es que Linux trata a todos los directorios como archivos, por lo tanto, los permisos se aplican de igual manera para ambos. Dichos permisos pueden ser divididos en cuatro partes para indicar: tipo, propietario, grupo y otros permisos.
El primer carcter de la cadena indica el tipo de archivo: si se trata de d representa un directorio, si es - equivale a un archivo. Sin embargo, otros caracteres pueden aparecer para indicar otros tipos de archivos, como se muestra en la siguiente tabla:
La lectura permite al usuario leer el contenido del archivo pero no cambiarlo. La escritura permite que el usuario modifique el archivo. La ejecucin, como el nombre lo dice, permite que el usuario ejecute el archivo, en caso de ser ejecutable.
Pero sucede que los permisos no funcionan aisladamente, o sea, de forma que el usuario tenga permiso de lectura o de escritura o de ejecucin. Los permisos funcionan en conjunto. Esto quiere decir que cada archivo/directorio tiene los tres permisos establecidos, corresponde al dueo determinar cul de estos permisos est habilitado para los usuarios o no.
Puede ser que una determinada cantidad de usuarios tengan permiso para modificar un archivo, pero otros no, por ejemplo. De ah la necesidad de usar grupos. En este caso, el permiso de escritura de este archivo ser dada al grupo, por lo que todo usuario miembro puede cambiar el archivo. Ten en cuenta que es necesario tener cierto cuidado con los permisos. Por ejemplo, el que informa de que el usuario tenga permiso de escritura si no tiene permiso de lectura habilitada.
En los temas anteriores, has adquirido por lo menos una nocin de lo que son los permisos y de su importancia en Linux. Lleg la hora de aprender a configurar permisos, y esto se hace a travs del comando chmod (change mode). Un detalle interesante de este comando es que se pueden configurar permisos de dos maneras: simblica y numricamente. Primero veremos el mtodo simblico.
Usar chmod con valores numricos es una tarea bastante prctica. En vez de utilizar letras como smbolos para cada permiso, se usan nmeros. Si un permiso est habilitado, se le asigna el valor 1, en caso contrario, se asigna el valor 0.
La cuestin es que en los sistemas basados en Unix, los permisos son uno de los aspectos ms complejos que existen. Tal complejidad es equivalente a la eficiencia del uso de los permisos. Por eso, la mejor manera de entender los permisos es entrenando. Practica, crea permisos y observa los resultados.
En Profesional Review encontrars todos los anlisis, noticias y tutoriales ms interesantes. Especialistas en hardware, configuraciones de PC, perifricos, software, smartphone y cualquier producto tecnolgico que veamos interesante. nete a nuestra comunidad!
El comando CHMOD son utilizamos para gestionar los permisos de archivos y directorios dentro del sistema, en este artculo hemos preparado ejemplos que te ayudarn a comprender mejor los permisos chmod.
La asignacin de permisos se hace mediante el comando CHMOD. Por eso, cuando al leer las instrucciones de instalacin de cualquier aplicacin web te encuentres con la misteriosa frase "haz chmod 644 tal_archivo.htm" ten en consideracin que nos estn diciendo los permisos que ese archivo necesita.
Los servidores Windows tienen su propio sistema de permisos, en los que no vamos a entrar aqu.
El comando chmod puede usarse con letras o nmeros. La forma ms corriente es expresar los permisos numricamente.
Para comprender el significado tienes que tener en cuenta que convencionalmente 4 significa permiso de lectura. 2 permisos de escritura y 1 permiso de ejecucin. Sumando estos valores vemos que un archivo puede tener los siguientes permisos (por cada tipo de usuario):
Todo ello para los tres tipos de usuario.
As, un chmod file 777 significa que owner, group y others tienen permiso de lectura, escritura y ejecucin. chmod 766 significa que el owner tiene permiso de lectura, escritura y ejecucin, y el group y others permiso de lectura y escritura. Chmod 744 significa que el owner tiene permisos de lectura, escritura y ejecucin, y group y others nicamente permisos de lectura.
Como ves, son tres dgitos, de izquierda a derecha designan los permisos del owner, group y others.
Vemos a continuacin su equivalente en letras:
Esos permisos son divididos en tres grupos: El usuario que creo el archivo (usuario dueo), el grupo dueo del archivo (que puede contener varios usuarios), y de los dems usuarios que no pertenecen al grupo dueo.
Sabiendo eso, ya conseguimos decir cul es el permiso de nuestro proyecto loja. El usuario dueo tiene todos los permisos (rwx), mientras el grupo dueo y los dems usuarios no poseen ningn permiso (---).
Aun no obtuvimos xito. Nosotros atribuimos la opcin para la lectura, que en caso de directorios sirve para poder visualizar su contenido. Pero no tenemos permiso para introducir esos directorios. Para eso, necesitamos del permiso de ejecucin (x).
Vea que ni lo archivos o directorios tienen permiso para otros usuarios. O sea, no conseguimos introducir el contenido de los directorios. Para resolver esos problemas basta alterar el permiso de todas las carpetas y directorios.
No necesitamos! El chmod tiene una opcin que hace eso para nosotros. Esa opcin cambia el permiso de los archivos recursivamente. Esto es, ella cambia el permiso de todos los archivos en todo el directorio y subdirectorios.
Antes de mostrar como alterar el permiso del usuario el grupo dueo de un archivo o directorio, vamos crear un archivo de texto en cualquier lugar del sistema para ser usado como prueba. En mi caso voy crear ese archivo en el rea de trabajo:
Nosotros podemos, por ejemplo, pedirle al chmod remover el permiso de ejecucin del usuario dueo del archivo (u-x), agregar las opciones de escritura y ejecucin para el grupo dueo (g+wx) y dejar los dems usuarios apenas con el permiso de ejecucin (o=x):
Adems de utilizar letras, llamado de modo simblico, o UGO (User, Group, Others), el chmod acepta tambin algunos nmeros. Cuando utilizamos nmeros para alterar los permisos, decimos que estamos utilizando el modo octal.
Nosotros tambin conseguimos combinar esos permisos en el modo octal. Por ejemplo, si deseamos que el usuario dueo del archivo tenga el permiso de lectura (4) y escritura (2), basta sumar el valor de esos permisos. Por tanto, tendramos 6.
Para que el usuario dueo tenga todos los permisos (7) en el archivo, y el grupo dueo tenga los permisos de lectura y escritura (6) y los dems usuarios no tengan ningn permiso (0). Basta indicarle al comando chmod:
Adems del chmod, otro comando muy utilizado cuando es el chown (change owner). Ese comando consigue cambiar el usuario, el grupo dueo de un archivo o directorio y solo puede ser ejecutado por el super usuario, o por el usuario administrador utilizando el comando sudo.
Debemos tener mucho cuidado en dar permisos para los usuarios que no son parte del grupo dueo, o no son dueos de los archivos o carpetas. Pues, dependiendo del permiso, esos usuarios consiguen tener acceso a un directorio o archivo en el sistema. Pudiendo visualizar, alterar, o hasta mismo excluir su contenido.
Permisos hacen parte del sistema. Sin ellos no podemos visualizar, alterar o ejecutar archivos, entrar en directorios o listar su contenido. Hasta mismo para acceder a un sitio en el internet necesitamos de permisos.
En Linux, podemos alterar el permiso de archivos y directorios usando un comando propio para eso, el chmod. Ese comando nos permite alterar los permisos del usuario y grupo dueo del archivo o directorio y de los dems usuarios.
Yuri es desarrollador e instructor. Es estudiante de Sistemas de Informacin en la FIAP y es formado como Tcnico en Informtica en el Senac SP. Y su foco es en las plataformas Java y Python y en otras reas como Arquitectura de Software y Machine Learning. Yuri tambin acta como editor de contenido en el blog de Alura, donde escribe, principalmente, sobre Red, Docker, Linux, Java y Python.
El programa de lnea de comandos chmod, abreviatura de change mode (cambiar modo en ingls) se lanza a comienzos de 1970, cuando AT&T publica la primera versin de Unix. En los sistemas operativos tipo Unix multiusuario, chmod sirve para asignar permisos de acceso a carpetas y directorios en sistemas de archivos compatibles con los permisos de archivo tpicos de Unix. Esto afecta, por regla general, a todos los sistemas de archivos estndar en las derivaciones de Linux que ms se usan para operar servidores. Para hacer cualquier modificacin en los atributos de los archivos chmod, es necesario ser propietario del archivo o contar con derechos raz (administrador).
d3342ee215