Cambiando permisos a carpetas y archivos en Fedora


En este minituorial mencionaré algunos uso del comando chmod y chown para cambiar permisos y privilegios a carpetas y archivos en Fedora. Estos comandos funcionan en todas las distros Linux, pero por comodidad lo usaré en Fedora.
Para consultar el manual desde la terminal, teclear el siguiente comando:
man chmod
man chown
En general linux administra muy bien los privilegios de archivos y carpetas de acuerdo a los usuarios y grupos pero algunas ocasiones es necesario modificarlos. Por ejemplo, si acabamos de hacer o bajar algún script que queremos ejecutar para que realice una tarea determinada, al momento de querer ejecutarlo podemos encontrarnos con el problema de que no tiene permisos de ejecución;

O imaginen que están migrando desde otro sistema operativo y están accediendo a información que ya tenían, es muy probable que esta información se encuentre en particiones de tipo fat o ntfs y que no tengamos privilegios para crear, eliminar o modificar archivos o carpetas, incluso puede ser que no podamos leerlas.

Cualquiera que sea la razón, podemos recurrir a algunos comandos muy simples:

Cambio de Propietario:
sudo chown <usuario> <archivo o carpeta>
La opción -R indica que sea recursivo, es decir, todo el contenido de la carpeta, esta opción sólo funciona para carpetas.
sudo chown <usuario> -R <carpeta>
Cambio de Grupo:
sudo chgrp <grupo> <archivo o carpeta>
Cambia de grupo todo el contenido de la carpeta de manera recursiva. Opción -R sólo funciona con carpetas.
sudo chgrp <grupo> -R <carpeta>

Cambio de Usuario y Grupo:
Sí queremos cambiar el propietario y el grupo usamos el mismo comando pero en vez de poner únicamente el usuario ponemos “usuario:grupo”. Generalmente queremos cambiar el grupo a nuestro propio grupo (normalmente del mismo nombre que nuestro usuario) así que lo mas típico seria:
sudo chown usuario:grupo <archivo o carpeta)
sudo chown usuario:grupo -R <carpeta>

Cambiar Privilegios
Los privilegios son poder modificar, eliminar o ejecutar un determinado archivo.

La estructura más común es:
sudo chmod <permisos> <opciones> <archivo o carpeta>


Para dar permisos de este tipo, se pueden utilizar dos métodos, uno mediante números y otro mediante letras:

En binario, las combinaciones representan el tipo de permisos. El bit más a la derecha (menos significativo) se refiere al permiso de ejecución (1=activar y 0=desactivar). El bit central se refiere al permiso de escritura y el bit más a la izquierda se refiere al permiso de lectura. La siguiente tabla muestra las 8 combinaciones posibles:

Binario   Permisos efectivos
0       0 0 0       - - -
1       0 0 1       - - x
2       0 1 0       - w -
3       0 1 1       - w x
4       1 0 0       r - -
5       1 0 1       r - x
6       1 1 0       r w -
7       1 1 1       r w x

Donde:
  1. El primer dígito da los privilegios para el propietario.
  2. El segundo dígito da los privilegios para el grupo al que pertenece el propietario.
  3. El tercer dígito para los usuarios fuera del grupo del propietario.
Si deseamos otorgar sólo permiso de lectura, el código a utilizar es el 4. Si deseamos otorgar sólo permiso de lectura y ejecución, el código es el 5. Si deseamos otorgar sólo permiso de lectura y escritura, el código es el 6. Si deseamos otorgar todos los permisos, el código es el 7. Si deseamos quitar todos los permisos, el código es el 0. Ejemplos:

Por ejemplo, para dar permisos de ejecución a un archivo se utiliza la siguiente instrucción:
sudo chmod +x hack-m2.sh
Que es lo mismo a utilizar:
sudo chmod 777 hack-m2.sh


Ahora unos ejemplos:
Agregar permiso de todo para todos los usuarios, no lo recomiendo, tal vez sería bueno utilizarlo en casos extremos, pero nomás porque sí, no lo creo.
sudo chmod ugo+rwx

 Dar permisos de solo lectura para todos los usuarios:
sudo chmod ugo-xw+r


Dar permisos de solo lectura para todos los usuarios del grupo del propietario
sudo chmod g+r

Dar permisos de escritura para todos los usuarios
sudo chmod o+w

Permisos de ejecución para todos si se es propietario del archivo
chmod +x

Permisos de lectura para todos si se es propietario del archivo
chmod +r

Permisos de escritura para el propietario del archivo
chmod +w

Y esos comandos los sacaran de más de un apuro en algún momento, así que les sugiero que traten de memorizarlos.

Comentarios:

@