Uso de la Notación Simbólica para Permisos
Aunque la notación numérica es concisa, la notación simbólica puede ser más intuitiva, especialmente cuando solo quieres cambiar un único permiso. La notación simbólica utiliza letras para representar al usuario, al grupo y a otros, y operadores para añadir o quitar permisos.
Primero, vamos a crear un nuevo archivo de script con algo de contenido:
cd ~/project
echo '#!/bin/bash\necho "Hello, World"' > script.sh
Este comando hace dos cosas:
- Crea un nuevo archivo llamado
script.sh. La extensión .sh se usa comúnmente para scripts de shell. Los scripts de shell son archivos ejecutables que contienen una serie de comandos que se ejecutan en secuencia.
- Escribe dos líneas en este archivo:
#!/bin/bash (llamado shebang) le indica al sistema que este es un script de bash. La línea shebang especifica el intérprete que debe usarse para ejecutar el script. En este caso, es /bin/bash, que es la ruta al intérprete de Bash.
echo "Hello, World" es un comando que imprimirá "Hello, World" cuando el script se ejecute. El comando echo simplemente muestra el texto que le sigue.
\n es un carácter de nueva línea, asegurando que los comandos estén en líneas separadas en el archivo.
Ahora, verifiquemos sus permisos iniciales:
ls -l script.sh
Deberías ver algo como:
-rw-rw-r-- 1 labex labex 32 Jul 29 16:30 script.sh
Como puedes ver, inicialmente, el script solo tiene permisos de lectura y escritura para el propietario y el grupo, y permiso de lectura para otros. No tiene permiso de ejecución, el cual es necesario para correrlo como un programa.
Intentemos ejecutar el script:
./script.sh
Deberías ver un error de "Permiso denegado" porque el script aún no tiene permisos de ejecución. La parte ./ le indica a la shell que ejecute el script ubicado en el directorio actual.
Ahora, añadamos el permiso de ejecución para el propietario usando la notación simbólica:
chmod u+x script.sh
En este comando:
u se refiere al usuario (user/owner). Otras opciones son g para el grupo, o para otros y a para todos (all: usuario, grupo y otros).
+x añade el permiso de ejecución. El símbolo + añade un permiso, mientras que el símbolo - lo elimina.
Por lo tanto, u+x significa "añadir permiso de ejecución para el propietario".
Verifiquemos el cambio:
ls -l script.sh
Ahora deberías ver:
-rwxrw-r-- 1 labex labex 32 Jul 29 16:30 script.sh
El propietario ahora tiene permisos rwx (lectura, escritura y ejecución).
Ahora, intentemos ejecutar el script de nuevo:
./script.sh
Esta vez, deberías ver la salida: "Hello, World"
Este ejemplo demuestra claramente por qué necesitamos añadir permisos de ejecución a los scripts, y la diferencia antes y después de añadir estos permisos. La notación simbólica facilita la modificación de permisos específicos sin tener que recalcular toda la representación numérica.