Examinons vos cas :
su -
exécutera un /bin/sh en tant qu'utilisateur root en utilisant l'environnement root. Le mot de passe root est nécessaire et la journalisation PEUT être enregistrée en fonction des paramètres syslog (généralement par défaut sur /var/log/auth.log).
sudo /bin/sh
exécutera le shell en tant qu'utilisateur root en utilisant l'ensemble actuel de variables d'environnement (avec quelques exceptions telles que définies dans le fichier sudoers). Le mot de passe est le mot de passe de l'utilisateur source et NON le mot de passe de l'utilisateur root. sudo est généralement connecté.
sudo su -
exécutera un shell (généralement /bin/sh) en tant qu'utilisateur root configurant l'environnement en tant qu'utilisateur root. Cela nécessitera le mot de passe de l'utilisateur source et celui-ci sera généralement enregistré.
Parfois, il est nécessaire d'avoir l'environnement racine sur votre propre environnement, donc su - est une méthode appropriée. N'oubliez pas que sudo enregistrera toujours l'utilisation de la commande shell dans les deux cas.