Per impostazione predefinita, i file creati con il root root hanno le autorizzazioni in questo modo:
-rw-r--r-- 1 root root 0 11月 17 23:25 rootfile.txt
Qui il file appartiene all'utente root e al gruppo root ed è leggibile e scrivibile da root, ma leggibile solo da altri.
L'approccio più semplice sarebbe quello di chown
riportare il file all'utente originale.
chown username:group_name dummy.txt
È possibile utilizzare una $SUDO_USER
variabile accessibile solo quando sudo
viene chiamata, in questo modo:
chown "$SUDO_USER":"$SUDO_USER" dummy.txt
Se stai eseguendo lo script come utente normale, la chown
parte non è affatto necessaria, quindi potresti prendere in considerazione l'utilizzo di if-statement o &&
test per verificare il caso in cui lo script viene eseguito come root e fare qualcosa in questo modo:
#!/bin/bash
touch dummy.txt
[ $UID -eq 0 ] && chown "$SUDO_USER":"$SUDO_USER" dummy.txt
Quanto sopra è un approccio raccomandato. Ce ne sono altri, come usare chmod
per cambiare le autorizzazioni di lettura-scrittura-esecuzione per utenti e gruppi, ma non è raccomandato.
chown
echmod
nel tuo script per impostare la proprietà e le autorizzazioni come desiderato.