在Linux系统中,如果由于某些权限的原因,想从普通用户切换到root用户,大家都知道一般的命令是:
su
或者
su root
但是今天第一次实践该命令的时候,居然报“su:认证失败”:
直接懵逼了,网上说的好好的,怎么到我这里就不行了呢?
资料查起来,原来是这样
Ubuntu发行版中,第一次开机时并不会让你设置root根用户的密码,不知道密码自然就无法进入根用户下。
到网上搜了一下,原来是这么回事:Ubuntu的默认root密码是随机的,即每次开机都有一个新的root密码。
我们可以在终端输入命令 sudo passwd,然后输入当前用户的密码,enter,终端会提示我们输入新的密码并确认,此时的密码就是root用户的新密码。
修改成功后,输入命令 su root,再输入新的密码就ok了。
立刻照着实践一下,成功!
当然,如果想再重置root用户密码,也可以按照上诉步走来。
那么,普通用户呢?
打开终端打开,进入命令行;
在命令行中输入 passwd 用户名,比如用户名叫sun,那就输入 passwd sun,然后按回车键;
在弹出的界面按照提示输入原来的密码,系统确认后,再按照提示输入新密码两次,结束后按enter即可。
搞定 _^_^_^_^_^^
还有,从普通用户切换到root用户还有一种方法,就是输入 sudo su root。这时候系统并不会让你输入密码,而是直接切换到root用户了,这是为什么呢?
sudo的意思就是,临时赋予当前用户某项权限(super user do),而sudo su root 的意思也就是“临时赋予当前用户切换到root用户的权限”,所以,也就是临时的嘛,过一段时间也就过期了,还是要重新输入密码。当然,这个当前用户也必须是被超级用户赋予了可以做这项操作了的权限的,否则,也是无法使用的。
其实,这就涉及到了sudo和su的区别,以及安全策略上的问题了。可以参考下面两篇文章,或者自行网上搜索: