Estaba tratando de cambiar mi nombre de usuario y también mi directorio de inicio ( /home/username
) y mi sistema comenzó a fallar. Eliminé el passwd
archivo pero tenía una copia de seguridad llamada passwd_bkp
. Traté de cambiar el nombre de esto passwd_bkp
como passwd
y no funcionó. No se estaban ejecutando comandos ... Estaba en una ventana de terminal.
Reinicié mi sistema y ahora no puedo iniciar sesión. GRUB ofrece dos opciones: Linux y modo de recuperación.
Traté de abrir una sesión como root pero dice que el sistema de archivos está dañado. No puedo acceder a mis archivos.
¿Perdí todos mis archivos?
login
authentication
users
passwd-file
joao rodrigo leao
fuente
fuente
/etc/passwd
archivo , tampoco es posible restablecer la contraseña. Tiene que restaurar (o volver a crear) elpasswd
archivo. Y una vez hecho esto, generalmente no hay necesidad de restablecer la contraseña.Respuestas:
No, dada su descripción, no perdió ninguno de sus archivos (excepto
/etc/passwd
, que eliminó, pero que hizo una copia de seguridad).Arranque un CD / DVD en vivo de Ubuntu o una unidad flash USB en vivo. Seleccionar
Try Ubuntu
(noInstall Ubuntu
). Cuando se carga el escritorio, abra una ventana de Nautilus (explorador de archivos). Puede encontrar la partición para su sistema Ubuntu enDevices
. Haga clic en él para montarlo.Ahora puede restaurar la copia de seguridad. Sin embargo, debes hacerlo como root. Aquí hay una manera bastante fácil de hacerlo.
Abra una ventana de Terminal ( Ctrl+ Alt+ T). En la Terminal, escriba
cd
y escriba la Spacetecla, pero no presioneEnter todavía.En Nautilus, busque el
etc
directorio dentro del sistema Ubuntu instalado. (Esto no es lo mismo que eletc
directorio para el CD en vivo.etc
directorio dentro del sistema Ubuntu instalado está en la partición que acaba de montar).Arrastre este
etc
directorio a la Terminal, que pegará su ruta completa en la Terminal, completando elcd ...
comando.Presione Enterpara ejecutar el comando. Ahora estás en el directorio que contenía tu
passwd
archivo. Supongo que su archivo de copia de seguridadpasswd_bkp
también se encuentra aquí.Ejecute este comando:
Eso restaura el
passwd
archivo de su copia de seguridad, por lo que ahora debería poder reiniciar, quitar el CD / DVD o unidad flash USB y reiniciar en su sistema Ubuntu instalado. Su sistema Ubuntu instalado debería funcionar nuevamente.Para el futuro, debe tener en cuenta que no se recomienda editar manualmente
/etc/passwd
,/etc/group
,/etc/shadow
, o/etc/gshadow
. En su lugar, debe usar las utilidades proporcionadas como parte de Ubuntu para realizar los cambios que necesite en los usuarios y grupos de su sistema. Probablemente sepa que puede editar esto en Configuración del sistema o conusers-admin
. Pero también hay utilidades de línea de comandos muy potentes para esto, que son mucho más seguras y fáciles que editar los archivos de configuración manualmente. Aquí hay documentación sobre las utilidades más relevantes en Ubuntu:adduser
/ /addgroup
deluser
/ /delgroup
usermod
groupmod
useradd
(nivel inferior queadduser
, por lo general, debe usaradduser
en su lugar)userdel
(nivel inferior quedeluser
, por lo general, debe usardeluser
en lugar)groupadd
(nivel inferior queaddgroup
, por lo general, debe usaraddgroup
en lugar)groupdel
(nivel inferior quedelgroup
, por lo general, debe usardelgroup
en su lugar)passwd
gpasswd
pwck
grpck
Puede cambiar su nombre de usuario con algunas de esas utilidades. Esta respuesta explica una forma en detalle. Sin embargo, debe tener en cuenta (como se menciona actualmente en un comentario allí) que algunas aplicaciones suponen que su nombre de usuario sigue siendo el mismo. Por lo tanto, cambiar su nombre de usuario puede causar algunos problemas.
fuente
/etc/passwd-
o/var/backups/passwd.bak
. Asegúrese de establecer los permisos correctos. Ejemplo:sudo install -m644 /etc/passwd- /etc/passwd
Como alternativa al arranque de un livecd, puede presionar
e
en el menú de grub para editar la entrada del modo de rescate y agregarinit=/bin/sh
a los argumentos del núcleo. Esto lo llevará directamente a un shell raíz donde puede copiar el archivo de copia de seguridad al original después de volver a montar el sistema de archivos de lectura-escritura conmount -o remount,rw /
.fuente
/etc/passwd
, no hay ningún usuario llamado root, y ningún usuario con uid = 0 . ¿Las utilidades necesarias funcionarán necesariamente en esas condiciones inusuales?cp
omv
no necesita / etc / passwd.Primero debe leer la respuesta de Eliah Kagan, antes de continuar leyendo esta respuesta. Explica cómo lidiar con la situación y por qué generalmente no es necesario cambiar / etc / passwd manualmente.
De todos modos, si realmente sabe lo que está haciendo y necesita editar
/etc/passwd
manualmente , puede hacerlo, pero aún así no debe simplemente cambiar los archivos con su editor favorito. En cambio está la herramientaDe las páginas del manual:
Por ejemplo, si desea cambiar el UID de un usuario, hasta donde yo sé, para editar los archivos manualmente, es la única forma. Además, si desea cambiar la contraseña de un usuario y luego volver a la anterior sin saberlo, no hay forma de
usermod
hacerlo. Pero si guarda la contraseña hash del archivo shadow, cambie la contraseña del usuario y luego puede agregar la contraseña hash nuevamente editando el archivo shadowvipw -s
.fuente
Después de seguir la respuesta de @ EliahKagan no pude iniciar sesión
lightdm
y mi cuenta no estaba en la lista. Descubrí que el permiso delpasswd
archivo no estaba configurado correctamente; El usuario lightdm no tenía acceso a él. Así es como lo arreglé:Inicie sesión en un tty Ctrl+ Alt+F1
cambiar al
/etc
directorioLuego cambie los permisos a
644
Entonces hazlo
ls -la
la cadena de permiso debería verse así
fuente
Si puede iniciar sesión, simplemente abra la terminal y pruebe esto:
Más
Arranque en modo de recuperación o desde Ubuntu live Cd. Luego, monte su viejo disco:
luego reiniciar. Eso no establecerá passwd para root.
Luego, puede iniciar sesión, volver a crear todas sus cuentas, etc.
También puede usar la copia de seguridad que se llama (creo)
/etc/passwd-
Editar : (otro método que no he probado antes pero creo que debería funcionar también)
init=/bin/bash
cp /etc/passwd- /etc/passwd
init=/bin/bash
mount -o remount,rw /
passwd YOURUSERNAMEHERE
(si no conoce su nombre de usuario, escribals /home
(que es una L minúscula y una S minúscula) para una lista de usuarios)Fuente
fuente