Secuencias de comandos de shell: comando Umask

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *