Un script de Shell es un archivo de texto sin formato. Este archivo contiene diferentes comandos para la ejecución paso a paso. Estos comandos se pueden escribir directamente en la línea de comandos, pero desde el punto de vista de la reutilización, es útil almacenar todos los comandos interrelacionados para una tarea específica en un solo archivo. Podemos usar ese archivo para ejecutar el conjunto de comandos una o más veces según nuestros requisitos.
El comando umask se usa para cambiar el permiso de archivo predeterminado de los archivos recién creados.
La sintaxis del comando Umask es:
umask [ value ]
El valor aquí se utiliza para especificar los permisos de archivo. Al igual que el valor de 444 en un permiso de archivo de Linux, significa que todos solo pueden leer el archivo. Ahora restaremos este valor de 777 para obtener el valor de umask.
Nota: Para saber más sobre esto, se recomienda leer el siguiente artículo: Comando Umask en Linux con ejemplos . En este artículo, vamos a discutir Umask en el contexto de las secuencias de comandos de Shell.
Entendamos usando ejemplos –
Script con Umask para cambiar el permiso de archivo
# the owner both read and write, # everybody else can only read them umask 022 # prints the new umask value umask # creates a new file touch my_gfg_notes.txt # shows the newly created files permission ls -l my_gfg_notes.txt
Producción
0022
-rw-r–r– 1 satyajit satyajit 0 6 de abril 16:04 my_gfg_notes.txt
A continuación se muestra la representación pictórica de la carcasa del terminal después de ejecutar el siguiente script:
Aquí, en este ejemplo, hemos cambiado el valor de umask primero a 022, lo que significa que el propietario puede leer y escribir todos los archivos recién creados, pero todos los demás solo pueden leerlos. Después de eso, verificamos si el valor de umask se actualiza correctamente o no, y luego creamos un nuevo archivo de texto y verificamos su permiso predeterminado. El resultado indica el permiso del archivo como -rw-r–r–, lo que indica que el script que usa umask actualizó correctamente la configuración predeterminada de permisos del archivo.
Uso del comando umask de declaraciones If en un script
PER=”PROPIETARIO_LEER_ESCRIBIR”
if [ “$PER” == “OWNER_READ_WRITE” ]; después
máscara 077
echo «Los archivos, de manera predeterminada, serán ilegibles para cualquier otra persona en el sistema, excepto el usuario»
más
máscara 022
echo «El propietario puede leer y escribir todos los archivos recién creados, pero todos los demás solo pueden leerlos»
fi
toque my_gfg_notes.txt #crea un nuevo archivo
ls -l my_gfg_notes.txt #muestra el permiso de los archivos recién creados
Producción
Los archivos, de manera predeterminada, serán ilegibles para cualquier otra persona en el sistema, excepto el usuario
-rw——- 1 satyajit satyajit 0 6 de abril 16:37 my_gfg_notes.txt
A continuación se muestra la representación pictórica de la carcasa del terminal después de ejecutar el siguiente script:
Aquí, en este ejemplo, hemos utilizado declaraciones if para determinar el valor de umask en un script de shell. Después de eso, como el anterior, creamos un nuevo archivo y mostramos sus permisos de archivo.
Uso del comando umask de declaraciones de cambio en un script
preference="A" case "$preference" in # case 1 "A") umask 077 echo "no permission";; # case 2 "B") umask 022 echo "only owner can write";; esac touch my_gfg_notes.txt ls -l my_gfg_notes.txt
Producción
sin autorización
-rw——- 1 satyajit satyajit 0 8 de abril 11:00 my_gfg_notes.txt
Aquí, en este ejemplo, hemos utilizado declaraciones de cambio para determinar el valor de umask en un script de shell. Después de eso, al igual que los anteriores, creamos un nuevo archivo y mostramos sus permisos de archivo. A continuación se muestra la representación pictórica de la carcasa del terminal después de ejecutar el siguiente script:
Publicación traducida automáticamente
Artículo escrito por satyajit1910 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA