3 votos

¿Por qué no puedo usar `sudo` como usuario `estándar` en MacOS?

La mayor parte del "trabajo" lo hago en mi Mac como Standard usuario (la jerga de Apple para un sin privilegios usuario). También utilizo con frecuencia el CLI ( zsh sobre todo ahora) a través del Terminal aplicación. Yo uso MacPorts como gestor de paquetes y varias utilidades como find , rsync , launchctl , ip , mount , log , softwareupdate etc. etc. Como sucede con frecuencia, algo que estoy tratando de hacer desde la CLI requiere elevación de privilegios a través de la sudo comando.

Sin embargo: Según este documento parece que Apple no apoya el uso de sudo por Standard usuarios:

Sólo los usuarios administradores pueden utilizar sudo. Si no está conectado como administrador, puede hacerlo introduciendo el siguiente comando, donde adminUsername es el nombre de un usuario administrador:

% su adminUsername

Esto parece torpe e inconveniente: su y luego sudo . También está en desacuerdo con la forma en que sudo funciona en otras plataformas que uso. Por supuesto, MacOS requiere la autenticación del usuario administrador para realizar algunas tareas en la GUI, pero esto es generalmente no la forma en que sudo funciona; es decir cualquier El usuario Admin del sistema puede conceder privilegios para realizar tareas específicas.

No voy a preguntar "por qué" Apple lo hace así ya que eso sólo puede ser una opinión aquí, pero preguntaré si hay una solución - puede sudo en MacOS para que funcione como en otras plataformas?

10voto

Joel Puntos 112

sudo en MacOS hace funciona como en otras plataformas, al menos hasta MacOS 10.15.6:

Si usted, como usuario "Estándar", quiere o necesita privilegios para realizar ciertas tareas, esos privilegios pueden ser concedidos por el usuario Admin en el sudoers archivo. Si usted es tanto el usuario Admin, como el usuario sin privilegios StandardJoe, esto se convierte en un poco trillado pero así es como funciona:

% su AdminUser
# authentication, and then:
Adminuser %

Ahora, como Adminuser Utiliza el visudo para editar el sudoers archivo:

Adminuser % sudo visudo

Esto abrirá el sudoers en un editor (quizás pico ). Este paso siguiente es no la forma en que se harían las cosas en un sistema multiusuario, pero en este caso como sólo hay un usuario, y estamos tratando de hacer un punto, vamos a abandonar la convención & "tirar la cautela al viento :)

Añade la siguiente línea al archivo sudoers archivo:

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

Guarde el archivo y salga del editor. A continuación, exit el shell del usuario Admin:

Adminuser % exit
%

¿Qué acabamos de hacer? Hemos dado permiso a su usuario StandardJoeUser para que realice los cambios que desee en el sudoers archivo. Con ese permiso, usted - como StandardJoeUser - puede añadir los privilegios que necesita - o ALL los privilegios disponibles para el usuario Admin si así lo desea.

Para continuar como StandardJoeUser, ahora le concederemos los mismos privilegios en sudo como tiene el usuario Admin:

% sudo visudo
# authenticate with StandardJoeUser's password

De nuevo, el sudoers se abre en el editor. Esta vez, añade la siguiente línea justo debajo de la añadida anteriormente:

StandardJoeUser ALL = (ALL) ALL

Una vez más, guarde y salga. Ahora - StandardJoeUser puede sudo cualquier cosa - igual que el usuario Admin. No es necesario cambiar al usuario Admin ( su ); puede sudo con las credenciales de su usuario estándar.

Debate sobre la sabiduría de este cambio podría clasificarse como opinión bajo las reglas de SE, así que me detendré aquí. La respuesta a la pregunta debería ser lo suficientemente clara ahora: Sí, sudo en MacOS hace funcionan igual que en otras plataformas; parece que el documento al que hace referencia podría clasificarse como inexacto bajo alguna definición de la palabra.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X