Ubuntu Server 14.04.1 LTS 单用户模式修改root密码及提升用户权限
今天上午在做shell脚本测试的时候,不小心把系统当前用户移出了root组。然后发现账户的sudo权限没有了,执行不了什么带权限的操作。
于是我想执行“su -”直接切换到root用户,但是当初装好系统后我没有修改root的密码,ubuntu每次重启后都会自己生成一个随机密码给root。所以也无法获取到最高权限。
因为系统里面有很多重要的资料,如果能不重装系统的情况下恢复权限是最好的。
我们知道在启动ubuntu系统的时候有一个引导界面,进入引导界面的时候,上下移动箭头选择第二项目,进入ubuntu的恢复模式(recovery mode)。
最开始的时候我选择了“root Drop to root shell prompt”选择,选择这个也可以进行root登录用户,但是从这里进入的root是只读模式,也就是说在修改文件后不能进行保存操作。所以我们选择恢复模式(recovery mode)后,按键盘“e”编辑启动项。将“ro recovery nomodeset”替换为“rw single init=/bin/bash”后,按“ctrl+x”开始进入单用户模式,在这个模式下有root权限,同时还可以编辑修改文件并保存。
其实“ctrl+x”后就已经进入了单用户模式,如果出现有加载信息输出直接按回车就可以了,不需要一直等待。按回车后可以看到我们已经以root用户登录了,然后直接在控制台修改了root密码,这样以后就可以不用担心普通用户没root权限,同时也无法切换到root用户的尴尬。
之前是因为移除了默认用户的root组,所以导致没有sudo权限。现在有了root权限,那可以直接对“/etc/group”文件进行修改,把默认用户添加到相应的组就好了。例如有:“sudo:x:27:”、“adm:x:4:syslog”等。多个用户用“,”隔开。
修改文件后“:wq”保存文件退出,重启系统后,系统会自动还原我们前面修改的“rw single init=/bin/bash”,还原成默认的“ro recovery nomodeset”。
经过验证,默认用户已经有了sudo权限,并且root的密码也成功修改。