启动盘修复ubuntu系统文件。/etc/shadow、/ect/passwd,/etc/group等文件损坏,密码错误,用户无法登录

在非root用户下修改了/ect/passwd和/ect/group文件,在修改/etc/shadow时系统要求重新输入密码,结果输入密码无效,无法进行shadow文件的修改。因为现在使用的用户在旧shadow文件里找不到对应的密码。此时,重启电脑选择用户时也会报密码错误,无法进入。

因此参考一些方法,使用启动盘重新进入系统,修复了损坏的文件。

三个文件的说明如下:

/etc/passwd:

  • 存储系统中所有用户的基本信息。
  • 每个用户占一行,包含用户名、用户ID、组ID、用户的主目录、默认Shell等。
  • /etc/passwd 是可读的,但密码不会存储在这里,存储密码的功能已移到 /etc/shadow。

/etc/shadow:密码信息文件

  • 存储用户的密码(加密后的形式)以及密码的相关信息(如密码有效期、账户过期时间等)。
  • 提高了安全性,因为只有 root 用户或具有适当权限的进程可以读取 /etc/shadow
  • /etc/shadow 是非常敏感的文件,普通用户无法直接访问。如果此文件损坏,系统将无法验证用户密码。

/etc/group:组信息文件

  • 定义系统中的用户组及其成员。
  • 每个用户组对应一行,包含组名、组ID以及组内成员列表。
  • 当多个用户需要共享权限时,使用组来进行权限管理。
  • 每个用户可以属于多个组,但 /etc/passwd 中只能记录用户的主组信息,其他附加组信息存储在 /etc/group 中。

解决过程如下:

1. 制作启动盘

Ubuntu 20.04.6 LTS (Focal Fossa)下载镜像,并使用u盘制作启动盘。ubuntu20自带启动盘制作工具。

2. 插入启动盘,在bois界面选择启动盘启动。启动后选择Try Ubuntu

3. 挂载原系统分区

lsblk

假设你的根文件系统分区是 /dev/sda1,你可以挂载它到 /mnt 目录:

sudo mount /dev/sda1 /mnt

4. 挂载必要的虚拟文件系统

sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo mount --bind /run /mnt/run

5.  进入 chroot 环境:

sudo chroot /mnt

6. 修复文件,由于我在修改前进行了备份,只需要将备份文件覆盖原有文件即可

cp /mnt/etc/shadow.bak /mnt/etc/shadow
cp /mnt/etc/passwd.bak /mnt/etc/passwd
cp /mnt/etc/group.bak /mnt/etc/group

7. 卸载挂载的文件系统

exit
sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys
sudo umount /mnt/run
sudo umount /mnt

8. 重启系统

sudo reboot

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值