Я получил скрипт, требующий sudo, но скрипт должен устанавливать параметры в соответствии с исходным пользователем, такие как:
chown "${USER}:${USER}" dir
Если я установлю его под sudo, я просто получу chmod root:root
, что не поможет.
Так как я могу получить имя пользователя до sudo?
bash
sudo
user-accounts
е-удовлетворяться
источник
источник
Вы можете использовать
SUDO_USER
переменную:Со страницы руководства sudo :
источник
sudo echo $SUDO_USER
ничего не выводит?Пользователь SUDO_USER может быть перезаписан пользователем.
Вы должны использовать «кто я» или «логин», чтобы получить исходное имя пользователя
Исходя из /programming/4598001/how-do-you-find-the-original-user-through-multiple-sudo-and-su-commands
источник
logname
иwho am i
работают.sudo: sorry, you are not allowed to set the following environment variables: SUDO_USER
так что он все еще может быть безопасным, все равно следует это проверить.