Anteriormente discutimos sobre cómo usar los bits de permiso octal con chmod. En este artículo, repasemos cómo usar la representación simbólica con chmod.
A continuación se muestra la representación simbólica de tres roles diferentes:
- u es para usuario,
- g es para grupo,
- y o es para otros.
A continuación se muestra la representación simbólica de tres permisos diferentes:
- r es para permiso de lectura,
- w es para permiso de escritura,
- x es para permiso de ejecución.
Los siguientes son algunos ejemplos de cómo usar la representación simbólica en chmod.
1. Agregar permiso único a un archivo/directorio
Cambiar el permiso a un solo conjunto. El símbolo + significa agregar permiso. Por ejemplo, haga lo siguiente para dar permiso de ejecución al usuario independientemente de cualquier otra cosa:
$ chmod u+x filename
2. Agregar múltiples permisos a un archivo/directorio
Use comas para separar los múltiples conjuntos de permisos como se muestra a continuación.
$ chmod u+r,g+x filename
3. Eliminar permiso de un archivo/directorio
El siguiente ejemplo elimina el permiso de lectura y escritura para el usuario.
$ chmod u-rx filename
4. Cambiar permiso para todos los roles en un archivo/directorio
El siguiente ejemplo asigna privilegios de ejecución a usuarios, grupos y otros (básicamente cualquiera puede ejecutar este archivo).
$ chmod a+x filename
5. Dar permiso para un archivo igual que otro archivo (usando referencia)
Si desea cambiar un permiso de archivo igual que otro archivo, use la opción de referencia como se muestra a continuación. En este ejemplo, el permiso del archivo 2 se establecerá exactamente igual que el permiso del archivo 1.
$ chmod --reference=file1 file2
6. Aplicar el permiso a todos los archivos bajo un directorio de forma recursiva
Use la opción -R para cambiar el permiso recursivamente como se muestra a continuación.
$ chmod -R 755 directory-name/
7. Cambie el permiso de ejecución solo en los directorios (los archivos no se ven afectados)
En un directorio en particular, si tiene varios subdirectorios y archivos, el siguiente comando asignará permiso de ejecución solo a todos los subdirectorios en el directorio actual (no a los archivos en el directorio actual).
$ chmod u+X *