По умолчанию файлы, созданные с помощью root-доступа, имеют такие права:
-rw-r--r-- 1 root root 0 11月 17 23:25 rootfile.txt
Здесь файл принадлежит пользователю root и корневой группе и доступен для чтения и записи для пользователя root, но доступен только для чтения другим пользователям.
Самый простой подход - просто chownвернуть файл первоначальному пользователю.
chown username:group_name dummy.txt
Вы можете использовать $SUDO_USERпеременную, которая доступна только при sudoвызове, например:
chown "$SUDO_USER":"$SUDO_USER" dummy.txt
Если вы запускаете скрипт как обычный пользователь, эта chownчасть вообще не нужна, поэтому вы можете рассмотреть возможность использования оператора if или &&test для проверки случая, когда скрипт запускается от имени пользователя root, и сделать что-то вроде этого:
#!/bin/bash
touch dummy.txt
[ $UID -eq 0 ] && chown "$SUDO_USER":"$SUDO_USER" dummy.txt
Выше рекомендуемый подход. Есть и другие, например, использование chmodдля изменения прав на чтение-запись-выполнение для пользователей и групп, но это не рекомендуется.
chownиchmodв своем скрипте, чтобы установить владельца и права доступа по желанию.