De forma predeterminada, los archivos creados con root root tienen permisos como este:
-rw-r--r-- 1 root root 0 11月 17 23:25 rootfile.txt
Aquí el archivo pertenece al usuario raíz y al grupo raíz, y puede leerse y escribirse desde la raíz, pero solo otros pueden leerlo.
El enfoque más simple sería volver al chown
archivo al usuario original.
chown username:group_name dummy.txt
Puede usar una $SUDO_USER
variable a la que solo se puede acceder cuando sudo
se llama, de esta manera:
chown "$SUDO_USER":"$SUDO_USER" dummy.txt
Si está ejecutando el script como usuario normal, la chown
parte no es necesaria en absoluto, por lo que es posible que desee considerar el uso de la instrucción if o la &&
prueba para probar el caso cuando el script se ejecuta como raíz y hacer algo en este sentido:
#!/bin/bash
touch dummy.txt
[ $UID -eq 0 ] && chown "$SUDO_USER":"$SUDO_USER" dummy.txt
Lo anterior es un enfoque recomendado. Hay otros, como usar chmod
para cambiar los permisos de lectura-escritura-ejecución para usuarios y grupos, pero no se recomienda.
chown
ychmod
en su secuencia de comandos para establecer la propiedad y los permisos que desee.