不好意思没留图。最近遇到一个设备,是 Ubuntu16 的系统,厂家不提供 root 密码,只提供了一个普通权限的用户,在这个普通用户下无法使用 sudo,会提示“用户不在 sudoers 文件中”的错误。

对于这种情况有两个思路,一是进入 Single 模式下,直接修改 root 密码。二是修改 sudoers 文件,为这个普通用户授予 sudo 权限。

尝试进入开机按 Shift 进入 Grub,按 e 进入编辑模式,发现 Grub 还被锁了,需要用户名和密码才可以编辑。

重启服务器设备,挂载 Ubuntu LiveCD,进入 LiveCD 系统。

使用 fdisk-l 查看硬盘信息,发现有两个分区,sda1 2G 大小,sda2 800G 大小。分析易得 sda2 应该是 Linux 分区。

使用 mount /dev/sda2 /home/ubuntu/sda2 命令挂载分区。此时 sda2 目录下,即为设备的 Linux 系统分区。

先敲掉 Grub 密码,直接编辑 grub.conf。vi boot/grub/grub.conf,找到 password 字段,连同上面的 username 一并删掉,:wq保存退出。

为这个普通用户授予 sudo 权限,编辑 sudoers 文件。vi etc/sudoers,找到 root ALL=(ALL:ALL) ALL,在下面加一行,用户名 ALL=(ALL:ALL) ALL:wq保存退出。

OK 了。退出 LiveCD,重启,进入设备自带的 Ubuntu 系统,普通用户就可以使用 sudo 权限了。

sudo su切换到 root 用户下,想干啥随意。