在Linux中执行一些操作可能需要root用户才有权限操作,可使用su命令切换到root,输入su命令并回车,此时会要求输入root用户的密码,如果密码正确即可切换成功,在我的Ubuntu虚拟机上,提示我认证失败,如下:
这有可能是在安装Ubuntu系统的时候没有设置root账号的密码,可以使用sudo passwd root命令来设置root账号的密码,密码设置好就可以使用su命令来切换到root账号了,如下:
不需要设置root密码也能切换到root,如下:
如上图,执行sudo su - root命令后会要求输入密码,此时输入当前用户的密码即可(非root密码)。
某一天,我现了另一个更简单的切换到root用户的方式,还了解到为什么不要使用root用户进行登录。我在wsl中启动ubuntu,它给了我这样一个提示,如下:
这里提示说要以系统管理员用户来运行一个命令,可以使用sudo <command>。还告诉我们运行man sudo_root命令可以查看详情,于是我就运行这个命令看一下,如下:
用有道词典翻译了一下,大概内容如下:
为什么安装Linux系统时创建的用户权限这么大?因为安装时创建的用户肯定是系统所有者,可以认为是系统管理员了,所以权限比较大,不需要root密码即可使用root权限。而锁定root用户的密码是为了安全,这样别人就无法远程使用root来登录你的Linux了,而你创建的用户,只要你不把用户名告诉别人,别人就无法知道,但是root这个用户名是人人都知道的,容易被用来登录,虽然别人不知道密码,但是可以使用暴力破解之类的,特别是有些人喜欢用简单的密码,比如123456,所以锁定root的密码是比较安全的。即使我创建的用户密码是123456,别人能猜到我的密码,但是他不一定知道我创建的用户名是什么。
所以,最终总结一下就是,我们不需要root用户的密码,也不要去设置root用户的密码。