如何恢复已删除的/ etc / passwd文件?
我删除了/etc/passwd
文件,现在无法登录。 我不知道root密码并尝试了很多密码,但它们都没有工作。
我怎样才能解决这个问题?
这个问题似乎已经有了合适的答案,我只想扩展@Lekensteyn的评论 :
sudo cp /var/backups/passwd.bak /etc/passwd sudo chmod 644 /etc/passwd
以下是以图形方式执行此操作的步骤:
-
使用Ubuntu可启动媒体启动到实时Ubuntu环境;
-
启动Nautilus文件管理器并挂载您的Ubuntu分区 (在快照中,它是129 GB文件系统 );
( 按Ctrl + L查看分区的UUID。)
-
以root权限启动Nautilus(按Alt + F2并键入
gksu nautilus
并按Enter键); -
Ubuntu分区应该在侧栏中显示其UUID。 单击以安装它,然后转到
/etc
目录; -
在
/etc
目录中,向下滚动以找到名为passwd-
并在目录中复制此文件( 按住 Ctrl键,将鼠标指针放在文件上, 按住鼠标左键 , 拖动鼠标指针,然后释放鼠标按钮,然后按Ctrl键在同一目录下passwd- (copy)
;将创建一个名为passwd- (copy)
的文件); -
选择复制文件,右键单击并选择重命名 。 然后将文件重命名为
passwd
; -
将文件重命名为
passwd
右键单击并从上下文菜单中选择Properties ,并在选项卡权限中设置相应的权限,即所有者root应具有读写权限,而Group和Others设置对Read的访问权限– 只关闭属性窗口; -
现在重新启动系统,您应该可以使用密码登录。
您可以在实时环境中使用终端执行相同操作。
步骤:
-
启动到Ubuntu会话;
-
打开终端或tty并输入命令:
sudo fdisk -l
(并注意您的Ubuntu分区的设备名称,其格式为
/dev/sdX
。) -
安装设备,
sudo mount /dev/sdXY /mnt
(用你的目标设备repace
sdXY
。) -
cd
到目标系统/etc
目录:cd /mnt/etc
-
使用备份文件还原,并设置适当的权限:
sudo cp passwd- passwd sudo chmod 644 passwd
或者使用
/var/backups/passwd.bak
的备份:sudo install -m 644 /mnt/var/backups/passwd.bak /mnt/var/backups/passwd
(正如Lekensteyn在他的评论中指出的那样)
-
然后重新启动计算机:
sudo reboot
如果你可以登录只是打开终端并试试这个:
sudo cp /etc/passwd- /etc/passwd sudo chmod 644 /etc/passwd
其他
启动进入恢复模式或从Ubuntu live Cd启动。 然后,安装旧驱动器:
mkdir /olddrive mount /dev/hda5 /olddrive assuming that your old drive is on /dev/hda5. then, cd to /olddrive/etc type: echo "root::0:0:Superuser:/:/bin/bash" > passwd
然后重启。 这将不会为root设置passwd。
然后,您可以登录,重新创建所有帐户等。
您也可以使用称为(我认为) /etc/passwd-
的备份
编辑:(另一种方法“我不认真,我认为它也应该工作”)
- 启动时启动GRUB(启动时按ESC键)
- 按e结束(恢复模式)
- 将e按在以kernel开头的行上
- 按空格键并输入“
init=/bin/bash
” - 按enter键
- 按b
- 在命令提示符下键入:“
cp /etc/passwd- /etc/passwd
” - 再次重新启动到GRUB
- 按e结束(恢复模式)
- 将e按在以kernel开头的行上
- 按空格键并输入“init = / bin / bash”
- 按enter键
- 按b
- 在命令提示符下键入“
mount -o remount,rw /
” - 键入“passwd YOURUSERNAMEHERE”(如果您不知道您的用户名类型为“ls / home”(即小写字母L和小写字母S),则表示用户列表)
- 在提示时输入新密码
- 重新启动到正常启动。
资源