Ich habe ein Skript, das sudo erfordert, aber das Skript muss Parameter entsprechend dem ursprünglichen Benutzer festlegen, wie z.
chown "${USER}:${USER}" dir
Wenn ich es unter sudo setze, lande ich einfach bei chmod root:root
, was nicht hilft.
Wie kann ich den Benutzernamen vor sudo erhalten?
bash
sudo
user-accounts
e-satis
quelle
quelle
Sie können die
SUDO_USER
Variable verwenden:Von der Sudo- Manpage:
quelle
sudo echo $SUDO_USER
gibt nichts aus?SUDO_USER kann vom Benutzer überschrieben werden.
Sie sollten 'who am i' oder 'logname' verwenden, um den ursprünglichen Benutzernamen zu erhalten
Kommt von /programming/4598001/how-do-you-find-the-original-user-through-multiple-sudo-and-su-commands
quelle
logname
undwho am i
Arbeit.sudo: sorry, you are not allowed to set the following environment variables: SUDO_USER
Es ist also möglicherweise immer noch sicher, sollte dies dennoch überprüfen.