¿Cómo cambiar los permisos de un archivo o un directorio?
Es necesario conocer que los permisos que se pueden asignar a un directorio o archivo pueden ser de tres tipos: lectura ( r ), escritura ( w ) y ejecución ( x ).
A la vez, estos se pueden representar en la terminal de las siguientes formas:
¿Ahora bien, a quienes de le dan estos permisos?
Estos permisos se le pueden otorgar a diferentes entidades dentro de la terminal y son las siguientes: Usuarios, Grupos y Otros; su representación simbólica es la siguiente:
Entendiendo esto, seria una buena idea identificar estos permisos en la terminal; te invito a que ejecutes los siguientes comandos:
cd #Esto te llevara dentro de tu carpeta usuario /home/tu_usuario
mkdir direct #Con esto crearemos una carpeta llamada direct/
ls -l #Ahora deberian listarse los archivos y directorios dentro tu carpeta de
ususario.
En el output de la terminal donde se muestra la carpeta recién creada podras ver unas opciones similares a estas:
Como puedes observar en los recuadros se encuentran activos algunos permisos, pero hay 3 secuencias y esto quiere decir que cada una de ellas refiere una entidad; la primera en el cuadro rojo son los permisos de usuario que estas usando, la segunda es el recuadro en verde son los de grupo y la tercera en azul son los de otros.
Entonces si queremos cambiar los permisos de esta carpeta creada direct/ debemos usa el comando chmod y lo podemos hacer de varias formas:
Si queremos establecer los permisos para las tres entidades en un solo comando, debemos utilizar la representación octal en el orden correspondiente. Entonces si queremos darle todos los permisos a usuario y ninguno a grupos ni a otros seria de la siguiente forma:
chmod 700 direct/
De esta forma si ejecutamos nuevamente el comandols -l
podremos ver la siguiente salida:
Entonces de esta forma solo tu usuario tendrá los permisos de lectura escritura y ejecución.
Otra forma de dar permisos seria utilizando la representación simbólica, entonces si esta vez queremos darle permiso de lectura y escritura a los grupos y a otros solo de lectura por ejemplo seria de la siguiente forma:
chmod g=rw, o=r direct/
De esta forma si ejecutamos nuevamente el comandols -l
podremos ver la siguiente salida:
Si deseas quitar un permiso a un entidad, por ejemplo quitarle el permiso de escritura previamente otorgados a los grupos entonces seria asi:
chmod g-w direct/
o bien,
chmod 744 direct/
De esta forma si ejecutamos nuevamente el comando ls -l
podremos ver la siguiente salida:
GENIAL
Ahora que sabes de manera puedes otorgar y remover permisos de varias
formas, puedes indagar y descubrir otras en tu proceso de aprendizaje.
Muchas gracias por leerme, te deseo éxitos.
-------------------------------------------------------- BONUS -------------------------------------------------------------------
Si deseas que los permisos se otorguen de igual manera a los archivos dentro de una carpeta, puedes utilizar la opción recursiva -R
asi:
chmod -R 777 tu_directorio/