Por lo que he leído, es un buen enfoque de seguridad tener dos cuentas, una de administrador y otra estándar.
Estoy tratando de ejecutar el siguiente comando en la terminal de mi cuenta estándar
sudo mv /System/Library/CoreServices/Search.bundle /System/Library/CoreServices/Search.bundle.bak killall SystemUIServer
Solicita una contraseña, momento en el que el proceso falla porque el usuario actual "no está en el archivo sudoers".
¿Me está pidiendo la contraseña de mi cuenta de administrador o la contraseña de root? ¿Tengo una cuenta/contraseña raíz si no he configurado una explícitamente? ¿Cómo elevo temporalmente mi acceso para ejecutar el comando sin habilitar necesariamente la raíz?
El sistema solicita la contraseña de su cuenta y luego verifica si puede ejecutar sudo según el contenido de /etc/sudoers
. De manera predeterminada, solo los administradores (que tienen el ticket de opción en Preferencias) pueden hacer esto.
En caso de que desee ejecutar comandos de shell con sudo sin tener que cambiar de usuario todo el tiempo, tiene varias opciones:
ssh <any-admin-user>@localhost
para iniciar sesión como usuario administrador y ejecutar sudo luego/etc/sudoers
iniciando sesión como usuario administrador, ejecutando sudo visudo
en Terminal, duplicando la %admin ALL=(ALL) ALL
línea y reemplazando %admin
con su nombre de usuario. Esto le permitirá usar sudo en Terminal sin darle acceso de administrador completo. Usar visudo
en lugar de editar el archivo directamente garantizará que se verifique la corrección sintáctica del archivo al guardarlo (un error en /etc/sudoers
podría bloquearlo completamente de su sistema)su <any-admin-user>
seria mejor.Respondí una pregunta similar aquí.
Parece que podría usar el comando SU para cambiar a otro usuario en la Terminal. Una vez que haya cambiado al usuario administrador, puede usar los comandos sudo junto con la contraseña de la cuenta de administrador.
Por ejemplo, cuando estoy en una de las Mac de mis usuarios finales y necesito ejecutar algo con privilegios elevados (por ejemplo, chown) sin cerrar la sesión e ingresar a la cuenta de administrador (ladmin), usaría algo como esto (en negrita):
Mr-Rabbits-Mac:~ notadminuser$ su ladmin
Esto le pedirá la contraseña de la cuenta de ladmin, una vez ingresada, verá un símbolo del sistema de bash. Desde aquí puedo ejecutar cualquier comando sudo deseado, ingresando la contraseña de ladmin según sea necesario...
bash-3.2$ sudo chown usuario2 /alguna/carpeta
Esto ejecutará el comando chown usando el usuario ladmin ahora conectado, solicitando la contraseña de la cuenta ladmin. Una vez que haya terminado, puede escribir exit para volver a la indicación del usuario que inició sesión.
Captura de pantalla de un proceso similar, solo usando sudo para ejecutar el comando ls (solo por ejemplo).
Abra Terminal e inicie sesión en su cuenta de administrador. Debe tener un aspecto como este:
MyComputer:~ MyStandardAccount$ login MyAdminAccountName
Password: <enter password here> --The text you type will be invisible so no one can see the password
MyComputer:~ MyAdminAccount$ sudo mv /System/Library/CoreServices/Search.bundle /System/Library/CoreServices/Search.bundle.bak killall SystemUIServer
Password: <enter password here> --Text will be invisible again
MyComputer:~ MyAdminAccount$ logout
MyComputer:~ MyStandardAccount$
bmike