El comando chmod le permite modificar los permisos de un archivo o directorio. Solo el propietario del archivo o directorio o el administrador del sistema puede cambiar los permisos del objeto.
Sintaxis
La sintaxis del comando chmod es:
# chmod [options] {mode} {file/ directory name}
Opciones del comando chmod
El comando chmod admite diferentes opciones para modificar permisos. Se pueden usar una o más de estas opciones a la vez.
Opción | Descripción |
---|---|
-c | Informar de los cambios que se realicen en los permisos. |
-f | Ocultar la mayoría de los mensajes de error. |
-v | Muestra una entrada de diagnóstico para cada archivo procesado. |
-R | Modificar permisos de archivos y directorios de forma recursiva. |
Los bits de permisos aplicados a un objeto del sistema de archivos corresponden directamente a los valores que se pueden especificar en la tupla de 4 dígitos proporcionada a la utilidad chmod en el siguiente comando:
# chmod abcd [file system object]
Cada valor en el conjunto de dígitos abcd se compone de la suma de los valores 1, 2 y 4. Al sumar estos valores para cada dígito, se puede generar un valor para configurar todos los atributos del objeto de archivo:
- un – Este dígito controla la configuración de atributos especiales. el valor 1 establece el bit setuid, el valor 2 establece el bit setgid y el valor 4 establece el bit sticky en el objeto.
- b, c y d – Estos dígitos controlan los permisos de lectura, escritura y ejecución para el propietario del archivo, el grupo principal de propietarios del archivo y todos los demás usuarios. El valor 4 habilita el permiso de lectura, el valor 2 habilita el permiso de escritura y el valor 1 habilita el permiso de ejecución.
Para configurar un archivo para que sea fijo, legible y escribible por el propietario, legible por su grupo principal e inaccesible por todos los demás:
# chmod 4610 filename
Para dar todos los permisos a todos en el sistema:
# chmod 0777 filename
Si encuentra el siguiente error mientras ejecuta el comando chmod:
chmod: command not found
puede intentar instalar el siguiente paquete según su elección de distribución:
Distribución | Comando |
---|---|
OS X | instalación de preparación de coreutils |
Debian | apt-get install coreutils |
Ubuntu | apt-get install coreutils |
Alpino | apk agregar coreutils |
Arco Linux | pacman -S coreutils |
Kali Linux | apt-get install coreutils |
Cent OS | yum instalar coreutils |
Fedora | dnf instalar coreutils |
Raspbian | apt-get install coreutils |
Ejemplos del comando chmod
1. Otorgue al [u]suario propietario de un archivo el derecho a ejecutarlo:
# chmod u+x path/to/file
2. Otorgue al [u]suario derechos para [leer] y [e]scribir en un archivo/directorio:
# chmod u+rw path/to/file_or_directory
3. Eliminar los derechos ejecutables del [g]roup:
# chmod g-x path/to/file
4. Otorgue a [a]dos los usuarios derechos para [leer] y e[x]ecutar:
# chmod a+rx path/to/file
5. Otorgue a [o]tros (no en el grupo del propietario del archivo) los mismos derechos que el [g]grupo:
# chmod o=g path/to/file
6. Eliminar todos los derechos de [o]tros:
# chmod o= path/to/file
7. Cambie los permisos recursivamente dando [g]roup y [o]thers la capacidad de [e]scribir:
# chmod -R g+w,o+w path/to/directory
8. Otorgue recursivamente [a] todos los usuarios [l]er permisos para archivos y e[X]ecute permisos para subdirectorios dentro de un directorio:
# chmod -R a+rX path/to/directory
Conclusión
En los sistemas Unix y Linux, usaría la utilidad chmod para establecer valores de permisos en archivos y directorios. Puede establecer permisos para el usuario del archivo o directorio, el grupo asociado con el archivo o directorio y más. Los tres permisos básicos son los siguientes:
- r :Esto indica un permiso de lectura.
- w :Esto indica un permiso de escritura.
- x :Este es el permiso ejecutable. Puede aplicarlo a cualquier tipo de archivo de programa oa directorios. Si aplica un permiso ejecutable a un directorio, las personas autorizadas podrán acceder a él mediante CD.