Comment ajouter un utilisateur au fichier Sudoers sous Mac OS X
Les utilisateurs avancés peuvent avoir besoin d'ajouter un compte 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 comptes d'utilisateur nouvellement privilégiés seront alors en mesure d'exécuter des commandes sans obtenir d'autorisations refusées ou d'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 les autres, donc ce n'est pas quelque chose qui devrait être changé de façon désinvolte. De manière générale, la plupart des utilisateurs préfèrent utiliser un compte administrateur, en utilisant sudo par commande ou en activant l'utilisateur root. Néanmoins, la modification directe de sudoers a beaucoup de 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 allons nous concentrer sur l'ajustement du fichier sudoers comme décrit ici.
Le fichier sudoers se trouve dans / etc / sudoers mais, contrairement à / etc / hosts et à beaucoup d'autres fichiers de configuration système, vous ne voulez pas pointer un éditeur de texte général sur 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 de sudoers n'est pas prévu pour la plupart des utilisateurs OS X. Seuls les utilisateurs avancés qui ont une raison impérieuse de le faire devraient toujours 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 de sécurité, ou vous pouvez casser quelque chose.
Ajouter un utilisateur à Sudoers dans Mac OS X
L'ajout d'utilisateurs à sudoers nécessite l'utilisation de vi, ce qui peut être assez déroutant si vous n'y êtes pas habitué. Pour les inconnus, nous allons décrire les séquences de commandes clés exactes pour éditer, insérer et sauvegarder 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 "#User privilege specification", cela 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 nom abrégé du compte que vous souhaitez attribuer privilège de (touchez entre nom d'utilisateur et ALL):
- Maintenant, appuyez sur la touche "ESC" (échappement) pour arrêter d'éditer le fichier
- Appuyez sur la touche: (deux points), puis tapez "wq" suivi de la touche Retour pour enregistrer les modifications et quitter vi
sudo visudo
# User privilege specification
root ALL=(ALL) ALL
%admin ALL=(ALL) ALL
username ALL=(ALL) ALL
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 bon à faire, vous pouvez chatter le fichier sudoers pour être certain que le fichier a été modifié:
cat /etc/sudoers
Utilisez chat avec grep pour trouver rapidement le nom d'utilisateur si vous ne voulez pas parcourir le fichier entier:
cat /etc/sudoers | grep username
Maintenant que le nom d'utilisateur a été ajouté au fichier sudoers, vous devriez être prêt.
Résolution d'une erreur "/ etc / sudoers occupé, réessayez plus tard"
Si vous essayez de modifier sudoers et 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, soit en fermant mal visudo. Si vous utilisez un ordinateur multi-utilisateurs, assurez-vous de vérifier auprès d'autres utilisateurs avant de faire quoi que ce soit d'autre, mais cela ne devrait généralement pas se produire sur un seul ordinateur. Il est important de différencier les deux parce que si vous bousiller le fichier sudoers vous pouvez être dans un monde de frustration, des problèmes, et la restauration éventuelle du système d'exploitation (ou sudoers) à partir de sauvegardes, dont la résolution dépasse le cadre de cet article .
Sur les Mac mono-utilisateur, cette erreur «sudoers busy» peut survenir après avoir quitté l'application Terminal sans quitter vi, ou si le Terminal ou OS X est tombé en panne, ou si le fichier est actuellement ouvert dans une 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 le ferez que si vous êtes certain qu'un autre utilisateur (ou vous-même) ne modifie pas activement le fichier, localement ou à distance. Puisque 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 pourquoi ou pourquoi sudoers est ouvert, vous pouvez essayer d'utiliser dtrace ou opensnoop pour surveiller l'utilisation du fichier.