¿Por qué no puedo ejecutar 'su'? (y como debo hacer?)

29

Cuando trato de emitir su , obtengo esto:

$ su  
Password:  
su: Sorry

No hace falta decir que estoy ingresando la contraseña de administrador correcta que funciona con sudo . Lo que quiero es no tener que ingresar sudo cada vez.

    
pregunta Petruza 23.05.2011 - 02:33

5 respuestas

28

En MacOS X, el usuario root está deshabilitado de forma predeterminada, por lo tanto, su no funcionará. Como han dicho otros, es mejor usar sudo .

Si debe habilitar al usuario root, consulte la nota técnica de Apple: Habilitación y uso del usuario "root" en Mac OS X .

    
respondido por el ghoppe 23.05.2011 - 07:23
12

Tienes dos opciones. La primera es usar sudo -s ; esto le dará acceso de superusuario, pero seguirá siendo 'usted mismo' (por así decirlo), por lo que cosas como ~ seguirán siendo su directorio principal. Alternativamente, puedes usar sudo su , que te da un shell como el usuario root real de tu Mac.

    
respondido por el Kyle Cronin 23.05.2011 - 02:45
1

Por ejemplo, si necesita mover archivos o usar git usando la CLI, en ese caso, la mejor solución será usar el comando sudo -s . Después de ese comando, no tiene que seguir ingresando la contraseña una y otra vez.

    
respondido por el Kahef Mirza 19.09.2018 - 12:57
1

Creo que no puedes hacer esto como un usuario "normal" ...

Si hay otra cuenta de usuario con derechos de administrador, tiene que usar esta

restricted user$ su
Password:(the root password here)
Sorry!

restricted user$ su - (an admin account here)
password:(the admin account password)
$ su - root
Password:(The root password here)
# -> You are root user now
    
respondido por el user302849 20.09.2018 - 08:39
0

Solución moderna: sudo -u

Para ejecutar otro uso, usa sudo -u .

Por ejemplo, para ejecutar un editor de texto como nano :

sudo -u someuser nano

… e ingrese su contraseña de usuario de administrador de Mac cuando se le solicite. En este momento, es su usuario administrador de Mac quien invoca sudo , no el usuario someuser , por lo que no ingresa la contraseña someuser .

  • sudo significa ejecutar algo usando privilegios de superusuario.
  • -u significa "ejecutar un comando específico como este usuario especificado".
  • someuser debe reemplazarse con su nombre de usuario deseado.

Para simular un inicio de sesión inicial como un usuario en particular, incluyendo la ejecución de sus scripts de inicio, use -I .

sudo -u someuser -i nano

Esto ejecuta la aplicación nano como el usuario someuser pero solo después de haber ejecutado los scripts de inicio para ese usuario.

Si optamos por no especificar un comando o una aplicación para ejecutar, tenemos un shell interactivo que se ejecuta como ese usuario.

sudo -u someuser -i

Old-school: sudo su someuser

Otro enfoque utiliza el comando su en combinación con el sudo . El comando su significa "cambiar usuario".

sudo su someuser

O, para incluir la ejecución de los scripts de inicio del usuario, agregue el guión.

sudo su - someuser

root usuario

El usuario root en los sistemas operativos relacionados con Unix tiene poder absoluto para hacer cualquier cosa.

Apple ha optado por deshabilitar la cuenta root en macOS, para evitar las vulnerabilidades de seguridad y protegerte de dispararte en el pie. Apple creó la idea de las cuentas de usuario Administrador que tienen muchos poderes, más poderes que una cuenta de usuario Estándar , pero no un poder absoluto como root . Consulte esta nota de soporte de Apple para discusión.

Si es necesario, puede habilitar el usuario root en macOS y luego cambiar a ese usuario. Esto es fuertemente desanimado. Iría por este camino solo como último recurso desesperado.

Para una discusión de esto en el contexto del usuario postgres que ejecuta el sistema de base de datos Postgres en macOS, vea < a href="https://dba.stackexchange.com/q/221043/19079"> esta Pregunta en el sitio hermano, DBA Stack Intercambio .

    
respondido por el Basil Bourque 26.10.2018 - 02:20

Lea otras preguntas en las etiquetas