¿Hay una contraseña de root en OS X y Ubuntu?

13

Cuando configura una nueva instalación de Ubuntu u OS X, generalmente se crea un usuario para usted. En OS X es el nombre de usuario que elija. En Ubuntu (la versión del servidor) generalmente ubuntuse crea el usuario.

Según tengo entendido, también hay un usuario root, al que puede acceder a través de algo como sudo su - root, e ingresando la contraseña del ubuntuusuario que creó, que es parte del grupo de administradores. Una vez que cambie a rootCreo que puede usar el passwdcomando y cambiar la contraseña de root.

¿Pero cuál era rootla contraseña antes de eso? ¿Existe? ¿Es una cadena aleatoria de números y letras? ¿Cómo trata el sistema con eso?

cwd
fuente
1
En Ubuntu, solo necesitas sudo su. La rootcuenta se asume por defecto.
Nathan Osman
1
En Ubuntu, susolo es necesario para cambiar a algún usuario no root . Para ejecutar un solo comando como root, escriba sudo command. Para obtener un shell raíz, escriba sudo -i.
Scott Severance
Y si le dice a alguien en los foros de ubuntu cómo establecer una contraseña de root, o iniciar y restablecer una contraseña de usuario a través de un livecd, puede bloquear su cuenta durante 30 días ... pregúnteme cómo lo sé ... El Ubuntu la gente realmente no quieren tener un conjunto contraseña de raíz, que se quieren utilizar siempre sudo
ivanivan

Respuestas:

12

Solo puedo responder para Ubuntu.
En Ubuntu el rootusuario tiene una contraseña bloqueada. Desde la passwdpágina del manual:

   -l, --lock
           Lock the password of the named account. This option disables a 
           password by changing it to a value which matches no possible 
           encrypted value (it adds a '!' at the beginning of the password).

Puedes ver el !en /etc/shadow.

Un usuario con una cuenta bloqueada no puede cambiar su contraseña, pero el usuario root puede hacerlo sin ingresar previamente la contraseña anterior.

enzotib
fuente
10

Aquí se explica cómo desbloquear (?) O crear un usuario raíz real en OSX:

  1. Preferencias del Sistema
  2. Usuarios y grupos
  3. Opciones de inicio de sesión (haga clic en bloquear y autenticar aquí)
  4. Haga clic en "Unirse" (NAS)
  5. Open Directory Utility
  6. Haga clic en el candado (autenticar nuevamente)
  7. Menú Editar -> habilitar usuario root
  8. (Menú Editar -> cambiar contraseña de root)

¡A disfrutar!

Yossi Farjoun
fuente
+1 para la buena descripción de la GUI de Mac. Solo conocía la forma de la línea de comandos para activar la cuenta raíz.
Andrew J. Brehm
Sí, me sorprendió cuando el chico de Atención al Cliente de Apple me guió por los pasos para hacer esto ... Pensé que era un secreto demasiado bueno para mantenerlo "oculto".
Yossi Farjoun
7

Como dijo enzotib, Ubuntu tiene una cuenta raíz pero está bloqueada por defecto.

Ahora, sobre Macs:

Como probablemente pueda adivinar, la raíz (junto con todas las cuentas de daemon) no aparece en la sección "Usuarios y grupos" de Configuración.

Mirando mi Mac /etc/passwd, hay una entrada para root, junto con un mensaje

Note that this file is consulted directly only when the system is running
in single-user mode.  At other times this information is provided by 
Open Directory.

Traté de encontrar la lista de usuarios de Open Directory, sin éxito, pero en las configuraciones hubo menciones de otorgar explícitamente permisos de root a pesar de que están implícitos. Nunca se me solicitó una contraseña de root cuando configuré la máquina por primera vez, por lo que supongo que la cuenta de root está bloqueada ya que está en ubuntu. No intenté (y realmente no quiero) darle una contraseña a root e iniciar sesión con ella, pero probablemente podría hacerlo.

La línea passwd:

root:*:0:0:System Administrator:/var/root:/bin/sh

El comando perl del comentario de keith agrega un :0al final. Sin contraseña hash. Tampoco puedo encontrar ningún archivo oculto, no he podido encontrarlos en ninguna parte para verificar si el root puede tener una contraseña.

Kevin
fuente
¿Cuál es la salida de perl -e 'print join(":", getpwuid(0)), "\n"'? ( NOTA : Si incluye algo que parece una contraseña con hash, no la publique aquí.)
Keith Thompson,
@KeithThompson Lo publicó, nada especial. Sé sobre el hash, pero le agradezco que incluya la advertencia para los usuarios que podrían no hacerlo.
Kevin
1
¿Qué pasa con el mismo comando Perl con su propio uid? ¿Eso muestra una contraseña hash? (De nuevo, obviamente, no publique el hash.)
Keith Thompson, el
1
Hmm Quizás getpwuid()en MacOS hace eso deliberadamente, para evitar revelar información confidencial (aunque tiene que haber algo que pueda acceder a la contraseña cifrada).
Keith Thompson, el
1
He estado buscando en línea y parece que tenían una sombra en el último sistema operativo, pero no puedo encontrar una en Lion.
Kevin
7

La contraseña de root en Mac OS X se almacena (como lo menciona Kevin) en Open Directory. Para confirmar la existencia del usuario root se requiere un grep simple:

$ grep ^root /etc/passwd 
root:*:0:0:System Administrator:/var/root:/bin/sh

Para leer la información de la contraseña de root de Open Directory:

$ dscl localhost -read /Local/Default/Users/root Password
Password: *
$ dscl localhost -read /Local/Default/Users/root AuthenticationAuthority
No such key: AuthenticationAuthority

En el caso predeterminado (como se muestra), el usuario root no tiene un hash de contraseña establecido (la cuenta está bloqueada). Puede comparar esta configuración con el valor en OD para un usuario "normal":

$ dscl localhost -read /Local/Default/Users/normaluser Password
Password: ********
$ dscl localhost -read /Local/Default/Users/normaluser AuthenticationAuthority
AuthenticationAuthority: ;ShadowHash;HASHLIST:<SALTED-SHA512>...#rest of hash data
Mark Glossop
fuente
2

Ubuntu configura una contraseña para el usuario nombrado y la usa para tareas de nivel de superusuario (raíz) como instalar y eliminar software y todo el sistema y eliminación / ejecución de archivos y directorios más allá de su directorio de inicio. De hecho, hay una cuenta raíz pero sin una contraseña asignada un poco oculta. Canonical y las convenciones de uso de Ubuntu, en efecto, lo desalientan de invocarlo directamente.

Configura una cuenta de usuario con nombre en lugar de configurar una cuenta genérica "ubuntu". Ese es al menos el caso con los sistemas instalados. Una cuenta genérica "ubuntu" puede estar en su lugar si usa un CD en vivo, no recuerdo, no he trabajado con un CD en vivo en un par de años.

El comportamiento en MacOsX es en realidad bastante similar. Se le solicita que establezca una contraseña, que se invoca cada vez que intenta realizar tareas de nivel de superusuario, como instalar o actualizar software, pero no hay una cuenta llamada "root".

Haziz
fuente
3
Creo que, de hecho, hay un "usuario" raíz. Puede surootear, root tiene un directorio de inicio y los archivos pueden ser propiedad de root. ¿Puede proporcionar alguna cita a su argumento de que no hay una cuenta raíz?
cwd
3
Ciertamente hay una cuenta raíz explícita (uid 0, nombre "root"). Tiene que haber en cualquier sistema similar a Unix. Simplemente no tiene una contraseña (al menos por defecto). Incluso puede obtener un shell de raíz:, sudo bash -lluego escriba whoami. (Sin embargo, normalmente se debe utilizar sudopara los comandos individuales en lugar de tener un shell interactivo ejecuta como root.)
Keith Thompson
Quizás tengas razón, no te estoy cuestionando. Si hay una cuenta raíz, entonces han hecho un buen trabajo ocultándola. También uso Fedora en algunas de mis máquinas y máquinas virtuales, y la raíz es en gran medida una cuenta activa.
haziz
1

Para Ubuntu: de forma predeterminada, puede acceder a su cuenta de usuario recién creada.

Para ejecutar cualquier comando como root puedes usar

sudo command

luego ingrese su contraseña normal.

La cuenta raíz está bloqueada por defecto. Para activar la raíz por línea de comando simplemente ingrese

sudo passwd

luego ingrese su contraseña de usuario conectado y luego nuevas contraseñas para root. Ahora puede iniciar sesión como root usando su y luego ingresar la contraseña de root.

kushdilip
fuente