Por padrão, os arquivos criados com o root accound têm permissões assim:
-rw-r--r-- 1 root root 0 11月 17 23:25 rootfile.txt
Aqui, o arquivo pertence ao usuário root e ao grupo raiz, e é legível e gravável pelo root, mas somente legível por outros.
A abordagem mais simples seria apenas chown
do arquivo para o usuário original.
chown username:group_name dummy.txt
Você pode usar a variável $SUDO_USER
que só é acessível quando sudo
é chamado, assim:
chown "$SUDO_USER":"$SUDO_USER" dummy.txt
Se você estiver executando o script como usuário comum, a parte chown
não será necessária, portanto, convém usar a instrução if ou &&
test para testar o caso em que o script é executado como raiz e faça algo ao longo destas linhas:
#!/bin/bash
touch dummy.txt
[ $UID -eq 0 ] && chown "$SUDO_USER":"$SUDO_USER" dummy.txt
A abordagem acima é recomendada. Há outros, como usar chmod
para alterar as permissões de leitura e gravação para usuários e grupo, mas isso não é recomendado.