在Ubuntu中,传统Unix的root账号是被禁用了的,你无法使用root账号来登陆系统,/etc/shadow中的内容也能证明这点
- root:!:15324:0:99999:7:::
在《Linux新手入门:账号和密码文件 /etc/passwd和/etc/shadow》中介绍过以上由冒号分割的各个栏目的意义,第一个栏目为账户名称root,第二个栏目就是root账户加密后的密码了,如果这个栏目的值是以!或者*开头的,则说明这是一个不能登陆的账户。Ubuntu默认的root账号密码栏是个“!”,也就意味着root账户不可用来登陆,那既然这样,在《Linux新手入门:Linux中的账号与群组》中说的作为Linux系统管理员可以拥有root账号以及那至高无上的权力都是忽悠人的啦?
别着急啊,这不就告诉你怎么把root账号搞到手嘛!
激活ubuntu中的root账户
闲话少说,直接上指令(知道在哪里敲吧,呵呵)
- letuknowit@ubuntu:~$ sudo passwd root
- [sudo] password for letuknowit: //输入当前你这个账户的密码
- Enter new UNIX password: //为root账户设置新密码
- Retype new UNIX password: //重复密码
- passwd: password updated successfully
上面第1行即是设置root账户密码的指令,执行该指令后,第2行系统提示你输入当前用户的密码,确认身份后才可以继续设置root账号的密码,共需要输入两次(注意:在输入密码的时候,你在shell中并看不到你输入的字符,这主要是出于安全考虑,你只要将你的密码准确无误的输入一遍即可,刚开始的时候可能会又点不习惯,偶当初还以为系统出bug了,呵呵~),设置完成后会出现第5行的提示信息。
为了验证效果,我们可以查看下/etc/shadow文件
- letuknowit@ubuntu:~$ sudo grep ‘root’ /etc/shadow
- /etc/shadow:root:$6$Ipqhde.2$tLAFUjHo…N8.HLn/zEVLMrrCoYp3nKFRrsBS61:15402:0:99999:7:::
可以看到第2栏已经是root账户经过加密后的密码信息了。
锁定root账户
ubuntu之所以默认不开启root账号也是有其原因的,因为root账号的权限实在是太高了,权力越大责任和风险也随之增高,尤其是是对于新手们来说,有时候一不小心就会把系统搞崩溃掉,所以新手们还是暂时将root账户锁定起来吧,需要的时候再拿来用用~~
- letuknowit@ubuntu:~$ sudo passwd -l root
- passwd: password expiry information changed.
- letuknowit@ubuntu:~$ sudo grep ‘root’ /etc/shadow
- /etc/shadow:root:!$6$Ipqhde.2$tLAFUjHo…N8.HLn/zEVLMrrCoYp3nKFRrsBS61:15402:0:99999:7:::
锁定root账户的指令和设置root账户的指令是一样的,只是锁定的时候多了一个“-l”的参数,这个l就是lock的意思了,执行该指令后系统会提示“password expiry information changed”,查看/etc/shadow会发现,root账户的密码前面多了【!】字符。
知道如何锁定root账号,解锁也就简单了,将“-l”参数换成“-u”参数即可!
转载请注明:Coding Ants » ubuntu中如何激活root账户?