J'ai reçu un script nécessitant sudo, mais le script doit définir des paramètres en fonction de l'utilisateur d'origine, tels que:
chown "${USER}:${USER}" dir
Si je le place sous sudo, je me retrouve avec chmod root:root
, ce qui n'aide pas.
Alors, comment puis-je obtenir le nom d'utilisateur avant sudo?
bash
sudo
user-accounts
e-satis
la source
la source
Vous pouvez utiliser la
SUDO_USER
variable:Depuis la page de manuel sudo :
la source
sudo echo $SUDO_USER
ne produit rien?SUDO_USER peut être écrasé par l'utilisateur.
Vous devez utiliser «qui suis-je» ou «nom du journal» pour obtenir le nom d'utilisateur d'origine
Venant de /programming/4598001/how-do-you-find-the-original-user-through-multiple-sudo-and-su-commands
la source
logname
et lewho am i
travail.sudo: sorry, you are not allowed to set the following environment variables: SUDO_USER
il peut donc toujours être sûr, devrait toujours vérifier cela.