3 votes

Pourquoi ne puis-je pas utiliser `sudo` en tant qu'utilisateur `Standard` dans MacOS ?

Je fais la plupart de mes "travaux" sur mon Mac en tant qu'ordinateur de bureau. Standard (dans le jargon Apple, il s'agit d'un non-privilégié utilisateur). J'utilise aussi fréquemment le CLI ( zsh principalement aujourd'hui) par le biais de la Terminal app. J'utilise MacPorts en tant que gestionnaire de paquets et divers utilitaires tels que find , rsync , launchctl , ip , mount , log , softwareupdate etc etc etc. Comme cela arrive souvent, quelque chose que j'essaie de faire à partir de l'interface de programmation nécessite élévation des privilèges par l'intermédiaire de la sudo mando.

Cependant : Selon le le présent document il semble qu'Apple ne soutienne pas l'utilisation de l'option sudo par Standard utilisateurs :

Seuls les administrateurs peuvent utiliser sudo. Si vous n'êtes pas connecté en tant qu'administrateur, vous pouvez le faire en entrant la commande suivante, où Nom d'utilisateur admin est le nom d'un utilisateur administrateur :

% su adminUsername

Cela semble maladroit et peu pratique : su et ensuite sudo . Elle est également en contradiction avec la façon dont sudo fonctionne sur les autres plateformes que j'utilise. Bien sûr, MacOS nécessite une authentification de l'utilisateur Admin pour effectuer certaines tâches dans l'interface graphique, mais il s'agit d'un problème de sécurité. en général pas de la manière dont sudo fonctionne ; c'est-à-dire tous peut se voir accorder des privilèges lui permettant d'effectuer des tâches spécifiques par l'utilisateur Admin du système.

Je ne demanderai pas pourquoi Apple procède de cette manière, car il ne peut s'agir que d'une question d'ordre politique. avis ici, mais je demanderai s'il existe une solution de rechange - peut sudo sur MacOS pour qu'il fonctionne comme sur les autres plates-formes ?

10voto

Seamus Points 3171

sudo sur MacOS fait fonctionne comme sur les autres plateformes - au moins jusqu'à MacOS 10.15.6 :

Si, en tant qu'utilisateur "standard", vous souhaitez ou avez besoin de privilèges pour effectuer certaines tâches, ces privilèges peuvent être accordés par l'utilisateur Admin dans la section sudoers fichier. Si vous êtes à la fois l'utilisateur Admin et l'utilisateur non privilégié StandardJoe, cela devient un peu compliqué. banal mais voici comment cela fonctionne :

% su AdminUser
# authentication, and then:
Adminuser %

Aujourd'hui, en tant que Adminuser , utiliser le visudo pour éditer le sudoers fichier :

Adminuser % sudo visudo

Cela ouvrira la fenêtre sudoers dans un éditeur (peut-être pico ). L'étape suivante est pas la façon dont les choses seraient faites sur un système multi-utilisateurs, mais dans ce cas, comme il n'y a qu'un seul utilisateur, et que nous essayons de faire valoir notre point de vue, nous abandonnerons la convention&. "ne pas hésiter à se méfier du vent :)

Ajoutez la ligne suivante au fichier sudoers fichier :

StandardJoeUser ALL = (ALL) /usr/sbin/visudo

Enregistrez le fichier et quittez l'éditeur. Ensuite, il faut exit le shell de l'utilisateur Admin :

Adminuser % exit
%

Qu'est-ce que nous venons de faire ? Nous avons donné à l'utilisateur StandardJoeUser la permission d'apporter toutes les modifications qu'il souhaite au fichier sudoers fichier. Avec cette autorisation, vous - en tant que StandardJoeUser - pouvez ajouter les privilèges dont vous avez besoin - ou ALL les privilèges disponibles pour l'utilisateur Admin si vous le souhaitez.

Pour continuer en tant que StandardJoeUser, nous allons maintenant lui accorder les mêmes privilèges sous sudo que l'utilisateur Admin :

% sudo visudo
# authenticate with StandardJoeUser's password

Encore une fois, le sudoers est ouvert dans l'éditeur. Cette fois, ajoutez la ligne suivante juste en dessous de celle ajoutée précédemment :

StandardJoeUser ALL = (ALL) ALL

Une fois de plus, sauvegardez et quittez. Maintenant - StandardJoeUser peut sudo n'importe quoi - le même que celui de l'utilisateur Admin. Il n'est pas nécessaire de passer à l'utilisateur Admin ( su ) ; vous pouvez sudo sous les identifiants de votre utilisateur standard.

Débattre de la la sagesse de ce changement pourraient être classées comme avis dans le cadre des règles de la SE, je m'arrêterai donc ici. La réponse à la question devrait être suffisamment claire maintenant : Oui, sudo sur MacOS fait fonctionnent de la même manière que sur les autres plateformes ; il semble que les document auquel vous avez fait référence pourrait être classé comme imprécis selon une certaine définition du terme.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X