Cambio la última línea en / etc / passwd y no puedo usar sudo

15

Esto es lo que he hecho:

  1. Cambiar un nombre de usuario en la última línea: tinyaabc

    • tiny@tty7:~$ sudo vim /etc/passwd
    • Cambia esto:
      tiny:x:1000:1000:tiny,,,:/home/tiny:/bin/bash
      a esto:
      abc:x:1000:1000:tiny,,,:/home/tiny:/bin/bash
  2. tiny@tty7:~$ sudo vim /etc/shadow

    • muestra: [sudo] passwork for abc:

    • ¡No cambié mi contraseña pero no puede iniciar sesión root!

    • Escribo Ctrl+ Alt+ F1en tty1pero ni tiny o abc no pueden iniciar sesión con mi contraseña

y trato de mirar ls ~ -la, aquí se muestra así:

drwxr-xr-x 28 abc tiny 4096 Apr 6 03:04 .

¿Cómo puedo iniciar sesión root? y ¿por qué el nombre de usuario en el indicador tiny@tty7sigue siendo pequeño mientras que en sudo muestra la contraseña de abc?

tinyork
fuente

Respuestas:

18

La razón por la que se quedó atascado después de la edición es que el /etc/shadowarchivo contenía una entrada para la contraseña tinypero no una entrada para abc, mientras que el /etc/passwdarchivo contenía una entrada para abcy no para tiny. Cuando lo sudoexaminó, lo identificó correctamente (según el archivo de contraseña) según abcel UID del proceso que estaba ejecutando, pero cuando buscó comparar lo que ingresó como contraseña con la contraseña cifrada (cifrada) almacenada /etc/shadow, no pudo No encuentro una entrada para abc, por lo que tuvo que informar el fallo.

Como dijo Shaddy en su respuesta , no edite la contraseña o los archivos de sombra a mano. Si debe romper la regla, edite ambos en una sola invocación de vim, y no salga vimhasta que haya demostrado que los cambios son lo suficientemente cuerdos para funcionar utilizando otra ventana de terminal, y guarde copias de seguridad de los archivos antes comienzas a hackearlos y reconsideras por qué estás rompiendo las reglas en primer lugar, porque probablemente no sea una buena idea.

Jonathan Leffler
fuente
22

NUNCA debe editar su archivo passwd manualmente porque arruinará las cosas.

La forma correcta de cambiar su nombre de usuario es:

usermod -l newUsername oldUsername

Luego cambie la carpeta de inicio:

usermod -d /home/newHomeDir -m newUsername

Para cambiar la contraseña, debe usar:

sudo passwd yourusername

Le sugiero que revierta su archivo passwd, o si no puede editarlo porque no puede iniciar sesión con root, inicie con live cd y revierta el archivo. Luego use la forma correcta.

shaddy
fuente
1
gracias ~ Pensé que lo más difícil es iniciar sesión con root y luego reiniciar, elegir el modo de revocación, root y luego recuperar mi archivo passwd ~ funciona ~
tinyork
0

Uso: vipw

Siempre he usado esto en FreeBSD y acabo de confirmar que también puedes usarlo para Ubuntu. Lea esta página: Ubuntu Man Page para vipw

Lady Geek
fuente
-3

procedimiento para cambiar su nombre de usuario (pero no uid) a mano:

  1. haz que te examinen la cabeza, cuando eso falle, ve al paso dos.
  2. edite el archivo sombra duplicando la línea del usuario con un nuevo nombre de usuario.
  3. editar grupos, sudoers, permitiendo nuevos permisos de nombre de usuario, mantener viejos
  4. enlazar simbólicamente el directorio de inicio al nuevo nombre
  5. editar el archivo passwd cambiando el nombre de usuario y el directorio de inicio
  6. edite shadow, sudoers, grupos para eliminar entradas antiguas que guardamos en el paso tres
  7. editar alias y otras referencias al antiguo nombre de usuario.
  8. cerrar sesión, cambiar a una consola de texto (el siguiente paso no funcionará si algún programa se está ejecutando en el directorio de inicio de los usuarios, incluidos los administradores de ventanas)
  9. cd a un directorio encima de su directorio de inicio.
  10. elimine el enlace simbólico y cambie el nombre del directorio de inicio.
  11. cerrar sesión e iniciar sesión normalmente.

Las cosas son mucho más simples para cambiar el nombre de usuario de otros, aunque todavía no es simple.

hildred
fuente