Comment ajouter un utilisateur au fichier Sudoers sous Mac OS X
Table des matières:
Les utilisateurs avancés peuvent avoir besoin d'ajouter un compte d'utilisateur au fichier sudoers, ce qui permet à cet utilisateur d'exécuter certaines commandes avec les privilèges root.
Pour simplifier considérablement ce que cela signifie, ces nouveaux comptes d'utilisateurs privilégiés pourront alors exécuter des commandes sans obtenir d'erreurs d'autorisation refusée ou sans avoir à préfixer une commande de terminal avec sudo. Cela peut être utile (ou nécessaire) pour certaines situations complexes, mais cela pose un risque de sécurité pour d'autres, donc ce n'est pas quelque chose qui devrait être changé par hasard.
D'une manière générale, la plupart des utilisateurs préfèrent utiliser un compte administrateur, utiliser sudo par commande ou activer l'utilisateur root. Néanmoins, la modification directe de sudoers a de nombreuses situations d'utilisation pour les personnes avancées ayant une connaissance approfondie de la ligne de commande, et c'est pour ces situations plus complexes que nous nous concentrerons sur l'ajustement du fichier sudoers comme décrit ici.
Le fichier sudoers se trouve dans /etc/sudoers mais, contrairement à /etc/hosts et à de nombreux autres fichiers de configuration système, vous ne souhaitez pas pointer un éditeur de texte général vers le fichier pour le modifier. Au lieu de cela, vous voudrez utiliser une commande spécifique appelée "visudo", qui confirme la syntaxe correcte avant d'enregistrer le document.
Important : L'ajustement des sudoers n'est pas destiné à la plupart des utilisateurs de Mac OS X. Seuls les utilisateurs avancés qui ont une raison impérieuse de le faire devraient modifier le fichier sudoers. Si vous ne savez pas ce que vous faites et pourquoi vous le faites, ne modifiez pas le fichier sudoers et n'ajoutez aucun utilisateur au fichier sudoers.Cela peut poser un risque pour la sécurité ou vous pouvez casser quelque chose.
Ajouter un utilisateur à Sudoers sous Mac OS X
L'ajout d'utilisateurs aux sudoers nécessite l'utilisation de vi, ce qui peut être assez déroutant si vous n'y êtes pas habitué. Pour les non-initiés, nous décrirons les séquences exactes de raccourcis clavier pour éditer, insérer et enregistrer le fichier dans vi, suivez attentivement les instructions.
- Lancez Terminal et tapez la commande suivante :
- Utilisez les touches fléchées pour naviguer jusqu'à la section "Spécification des privilèges de l'utilisateur", elle devrait ressembler à ceci :
- Placez le curseur sur la ligne vide suivante sous l'entrée %admin, puis appuyez sur la touche "A" pour insérer du texte, puis tapez ce qui suit sur une nouvelle ligne, en remplaçant "nom d'utilisateur" par le raccourci de l'utilisateur nom du compte auquel vous souhaitez accorder des privilèges (appuyez sur la tabulation entre nom d'utilisateur et TOUS) :
- Appuyez maintenant sur la touche "ESC" (échappement) pour arrêter l'édition du fichier
- Appuyez sur la touche : (deux-points) puis tapez "wq" suivi de la touche Retour pour enregistrer les modifications et quitter vi
sudo visudo
Spécification des privilèges utilisateur root ALL=(ALL) ALL %admin ALL=(ALL) ALL
nom d'utilisateur TOUS=(TOUS) TOUS
C'est à peu près à quoi cela devrait ressembler, l'exemple de capture d'écran montre le nom d'utilisateur "osxdaily" ajouté :
Vous devriez être prêt à partir, vous pouvez cat le fichier sudoers pour être certain que le fichier a été modifié :
cat /etc/sudoers
Utilisez cat avec grep pour trouver rapidement le nom d'utilisateur si vous ne voulez pas parcourir tout le fichier :
cat /etc/sudoers | grep nom d'utilisateur
Maintenant que le "nom d'utilisateur" a été ajouté au fichier sudoers, vous devriez être prêt à partir.
Résolution d'une erreur "/etc/sudoers occupé, réessayez plus tard"
Si vous essayez de modifier sudoers et que vous obtenez une erreur "visudo: /etc/sudoers occupé, réessayez plus tard", cela signifie généralement que le fichier est déjà ouvert, soit par un autre utilisateur, soit par accident, ou en fermant mal le visudo. Si vous êtes sur une machine multi-utilisateurs, assurez-vous de vérifier auprès des autres utilisateurs avant de faire quoi que ce soit d'autre, mais cela ne devrait généralement pas se produire souvent sur une machine mono-utilisateur. Il est important de différencier les deux, car si vous bousillez le fichier sudoers, vous pouvez vous retrouver dans un monde de frustration, de problèmes et de restauration éventuelle du système d'exploitation (ou du fichier sudoers) à partir de sauvegardes, dont la résolution dépasse le cadre de cet article. .
Sur les Mac mono-utilisateur, cette erreur "sudoers occupé" peut se produire après avoir quitté l'application Terminal sans quitter vi, ou si le Terminal ou Mac OS X s'est écrasé, ou si le fichier est actuellement ouvert dans un autre session. La solution pour ces derniers cas de machine à usage unique décrits est assez simple, et vous pouvez résoudre l'erreur en supprimant le fichier temporaire sudoers qui sert de verrou :
sudo rm /etc/sudoers.tmp
Vous ne voudrez le faire que si vous êtes certain qu'un autre utilisateur (ou vous-même) ne modifie pas activement le fichier, que ce soit localement ou à distance. Étant donné que l'ajustement de sudoers est assez avancé en général, nous supposons que vous savez ce que vous faites ici, mais si vous ne pouvez pas savoir quoi ou pourquoi sudoers est ouvert, vous pouvez essayer d'utiliser dtrace ou opensnoop pour surveiller l'utilisation du fichier.