La advertencia al final le indica que el usuario root
(indicado de forma predeterminada con el uid 0
) ya no es dueño del archivo /etc/sudoers
. Esto es malo. En algún momento, es posible que haya cambiado esto accidentalmente, tal vez al escribir mal un comando. El archivo sudoers
denota qué usuarios y grupos pueden escalar a un conjunto de privilegios raíz introduciendo un comando con sudo
y escribiendo su contraseña de inicio de sesión.
El comando chown
que ha estado usando anteriormente cambia la propiedad de los archivos de un usuario y / o grupo a otro. Debido a que ha cambiado la propiedad del archivo sudoers
, probablemente no podrá usted mismo sudo
sin problemas, ya que el comando sudo
no se ejecutará por razones de seguridad si el archivo sudoers
del que se basa su configuración es propiedad de un usuario que no sea root
(esta es la razón por la cual Homebrew está escupiendo el último mensaje de error anterior).
Sugeriría lo siguiente:
- Habilite el usuario root utilizando las instrucciones de Apple aquí (en la sección 'Habilitar o deshabilitar el usuario root') .
- Abra el Terminal y cambie al usuario root escribiendo
su -
e ingresando la contraseña que asignó a su cuenta de usuario root en el paso 1.
-
Como usuario root, cambie la propiedad del archivo sudoers
a la raíz y al grupo de ruedas con lo siguiente:
chown root:wheel /etc/passwd
-
Vuelve a seguir las instrucciones del paso 1, pero esta vez deshabilita al usuario root nuevamente.
Ahora debería poder usar el comando sudo
nuevamente con su usuario administrador habitual. Puede ejecutar sudo ls
por ejemplo en un nuevo shell; Si el contenido del directorio actual aparece en la lista y no ve el error de propiedad anterior, todo está bien.
Aunque esto está fuera de los límites de su pregunta, me preocupa que si, sin saberlo, ha cambiado la propiedad del archivo sudoers
al intentar cambiar la propiedad de /usr/local/
, es posible que haya hecho esto en otros archivos importantes como bien. Ejecute ls -l /etc/
y examine la salida de ese comando. La tercera columna desde la izquierda muestra al usuario que posee un archivo determinado. Por defecto, casi todos los archivos en el directorio /etc/
están destinados a ser propiedad de root (uno obvio es /etc/passwd
). Si ve que la mayoría son propiedad de otro usuario (su propio nombre de usuario, por ejemplo), el problema es mucho más extenso que su archivo sudoers
.
Como punto general, debe tener mucho cuidado al ejecutar cualquier comando precedido por sudo
. Solo ejecute los comandos en su terminal si entiende el comando y sabe exactamente lo que hará cuando se pasa un conjunto dado de opciones / argumentos. Los sistemas operativos más recientes de Mac ofrecen algunas medidas de seguridad con Protección de integridad del sistema (SIP) , pero aún puede hacer una pausa. un montón de estragos en su sistema.
Si desea saber qué hace un comando en particular y sus diversos argumentos, intente consultar el manual primero escribiendo man
+ el comando sobre el que desea obtener información (por ejemplo, man sudo
o man chown
).