in

Quelle est la différence entre Sudo et Su sous Linux?

Si vous êtes un utilisateur Linux, vous avez probablement vu des références à la fois à sudo et su. Les articles ici sur How-To Geek et ailleurs indiquent aux utilisateurs d’Ubuntu d’utiliser sudo et les utilisateurs d’autres distributions Linux pour utiliser su, mais quelle est la différence?

Sudo et su sont deux manières différentes d’obtenir les privilèges root. Chacune fonctionne de manière différente et différentes distributions Linux utilisent par défaut des configurations différentes.

L’utilisateur racine

Su et sudo sont utilisés pour exécuter des commandes avec des autorisations root. L’utilisateur root est fondamentalement équivalent à l’utilisateur administrateur sur Windows – l’utilisateur root a les autorisations maximales et peut faire n’importe quoi au système. Les utilisateurs normaux sous Linux fonctionnent avec des autorisations réduites – par exemple, ils ne peuvent pas installer de logiciel ou écrire dans les répertoires système.

Pour faire quelque chose qui nécessite ces autorisations, vous devrez les acquérir avec su ou sudo.

Su contre Sudo

La commande su bascule sur le super utilisateur – ou l’utilisateur root – lorsque vous l’exécutez sans options supplémentaires. Vous devrez entrer le mot de passe du compte root. Cependant, ce n’est pas tout ce que fait la commande su – vous pouvez l’utiliser pour basculer vers n’importe quel compte utilisateur. Si vous exécutez le su bob commande, vous serez invité à entrer le mot de passe de Bob et le shell basculera vers le compte utilisateur de Bob.

Une fois que vous avez terminé d’exécuter les commandes dans le shell racine, vous devez taper sortie pour quitter le shell racine et revenir en mode privilèges limités.

Sudo exécute une seule commande avec les privilèges root. Lorsque vous exécutez commande sudo, le système vous demande le mot de passe de votre compte utilisateur actuel avant d’exécuter commander en tant qu’utilisateur root. Par défaut, Ubuntu se souvient du mot de passe pendant quinze minutes et ne demandera plus de mot de passe avant la fin des quinze minutes.

C’est une différence clé entre su et sudo. Su vous bascule sur le compte d’utilisateur root et requiert le mot de passe du compte root. Sudo exécute une seule commande avec les privilèges root – il ne passe pas à l’utilisateur root et ne nécessite pas de mot de passe d’utilisateur root distinct.

Ubuntu et autres distributions Linux

La commande su est le moyen traditionnel d’acquérir des autorisations root sur Linux. La commande sudo existe depuis longtemps, mais Ubuntu a été la première distribution Linux populaire à devenir sudo uniquement par défaut. Lorsque vous installez Ubuntu, le compte root standard est créé, mais aucun mot de passe ne lui est attribué. Vous ne pouvez pas vous connecter en tant que root tant que vous n’avez pas attribué un mot de passe au compte root.

Il y a plusieurs avantages à utiliser sudo au lieu de su par défaut. Les utilisateurs d’Ubuntu n’ont qu’à fournir et se souvenir d’un seul mot de passe, tandis que Fedora et d’autres distributions exigent que vous créiez des mots de passe distincts pour les comptes root et utilisateur lors de l’installation.

Un autre avantage est que cela décourage les utilisateurs de se connecter en tant qu’utilisateur root – ou d’utiliser su pour obtenir un shell root – et de garder le shell root ouvert pour faire leur travail normal. L’exécution de moins de commandes en tant que root augmente la sécurité et empêche les modifications accidentelles à l’échelle du système.

Les distributions basées sur Ubuntu, y compris Linux Mint, utilisent également sudo au lieu de su par défaut.

Quelques astuces

Linux est flexible, il ne faut donc pas beaucoup de travail pour faire fonctionner su de la même manière que sudo – ou vice versa.

Pour exécuter une seule commande en tant qu’utilisateur root avec su, exécutez la commande suivante:

su -c ‘commande’

Cela revient à exécuter une commande avec sudo, mais vous aurez besoin du mot de passe du compte root au lieu du mot de passe de votre compte utilisateur actuel.

Pour obtenir un shell root complet et interactif avec sudo, exécutez sudo –i.

Vous devrez fournir le mot de passe de votre compte utilisateur actuel au lieu du mot de passe du compte root.

Activation de l’utilisateur racine dans Ubuntu

Pour activer le compte d’utilisateur root sur Ubuntu, utilisez la commande suivante pour lui définir un mot de passe. Gardez à l’esprit qu’Ubuntu recommande de ne pas le faire.

sudo passwd root

Sudo vous demandera le mot de passe de votre compte utilisateur actuel avant de pouvoir définir un nouveau mot de passe. Utilisez votre nouveau mot de passe pour vous connecter en tant que root à partir d’une invite de connexion au terminal ou avec la commande su. Vous ne devez jamais exécuter un environnement graphique complet en tant qu’utilisateur root – c’est une très mauvaise pratique de sécurité, et de nombreux programmes refuseront de fonctionner.

Ajout d’utilisateurs au fichier Sudoers

Seuls les comptes de type administrateur dans Ubuntu peuvent exécuter des commandes avec sudo. Vous pouvez modifier le type de compte utilisateur dans la fenêtre de configuration des comptes utilisateurs.

Ubuntu désigne automatiquement le compte utilisateur créé lors de l’installation comme compte administrateur.

Si vous utilisez une autre distribution Linux, vous pouvez accorder à un utilisateur l’autorisation d’utiliser sudo en exécutant le visudo commande avec les privilèges root (alors exécutez su premier ou utiliser su -c).

Ajoutez la ligne suivante au fichier en remplaçant utilisateur avec le nom du compte utilisateur:

utilisateur ALL = (ALL: ALL) ALL

presse Ctrl-X et alors Oui pour enregistrer le fichier. Vous pouvez également être en mesure d’ajouter un utilisateur à un groupe spécifié dans le fichier. Les utilisateurs des groupes spécifiés dans le fichier auront automatiquement les privilèges sudo.

Versions graphiques de Su

Linux prend également en charge les versions graphiques de su, qui demandent votre mot de passe dans un environnement graphique. Par exemple, vous pouvez exécuter la commande suivante pour obtenir une invite de mot de passe graphique et exécuter le navigateur de fichiers Nautilus avec les autorisations root. presse Alt-F2 pour exécuter la commande à partir d’une boîte de dialogue d’exécution graphique sans lancer de terminal.

gksu nautilus

La commande gksu a également quelques autres astuces dans sa manche – elle préserve vos paramètres de bureau actuels, de sorte que les programmes graphiques ne semblent pas déplacés lorsque vous les lancez en tant qu’utilisateur différent. Les programmes tels que gksu sont le moyen préféré de lancer des applications graphiques avec les privilèges root.

Gksu utilise un backend basé sur su ou sudo, selon la distribution Linux que vous utilisez.

Vous devriez maintenant être prêt à rencontrer à la fois su et sudo! Vous rencontrerez les deux si vous utilisez différentes distributions Linux.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Les meilleurs outils gratuits pour créer une clé USB bootable Windows ou Linux

Ajoutez votre compte Gmail à Outlook 2010 à l'aide de POP

Ajoutez votre compte Gmail à Outlook 2010 à l’aide de POP