/etc/passwd
pour l'utilisateur cible (root par défaut)./etc/passwd
pour l'utilisateur cible (root par défaut). Cela signifie que des fichiers spécifiques tels que .login ou .profile seront lus par le shell ainsi lancé. root
se fait ressentir, la meilleure alternative est de simuler un shell de login en tant que root à l'aide de la commande suivante: sudo -i
Il est possible de sortir de ce shell avec le raccourci Ctrl-d ou avec la commande suivante:
exit
sudo passwd root
sudo usermod -p '!' root
sudo -s env > /tmp/testenv_sudo_-s ; sudo -i env > /tmp/testenv_sudo_-i ; sudo su -c env > /tmp/testenv_sudo_su ; meld /tmp/testenv_sudo_* && rm /tmp/testenv_sudo_*
sudo -s | sudo -i | sudo su | |
---|---|---|---|
HOME= | /home/foo | /root | /root |
PWD= | /home/foo | /root | /home/foo |
PATH= | /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin | /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games | /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games |
fichier(s) exécuté(s) | /home/foo/.bashrc | /etc/environment, /root/.login, /root/.profile, /root/.bashrc | /etc/environment, /root/.bashrc |
On voit donc que ces commandes ont une influence différente sur les variables d'environnement, et cela peut avoir des conséquences inattendues (compilations etc…).