前言:Liunx系统一般建议大家进入自己的账号,不建议使用超级用户root,以确保系统的安全。当然了,为了进行全局的设置,进入root账户进行操作是非常方便的,毕竟不用获取权限了吗。我们不使用超级用户,那么我们使用root权限的方式有两种:1.使用命令来获取权限;2.将当前的账户设置为超级管理员账户。不建议使用第二种方式,因为第二种方式和直接进入root账户是完全一样的,没有必要,其次还需要更改配置文件,假如有一点错了,很可能造成系统的崩溃。
一、命令
sudo
格式:sudo <命令>
使用这个命令意味着,以管理员的身份运行当前的命令,系统会要求你输入密码。
su
格式: su
使用这个命令意味着,将当前的命令窗口赋予获取管理员权限(也就是切换到root用户),系统会要求你输入密码。当验证通过后当前的身份就发生了变化,如图:
区别
- su的密码是root的密码,而sudo的密码是用户的密码;
- su直接将身份变成root,而sudo是以用户登录后以root的身份运行命令,不需要知道root密码;
疑问:sudo是以root身份运行,那么其应该是在admin用户组中,假如这个账户不在admin用户组中,那么sudo命令是否还可以正常执行呢?
二、实践
Ubuntu Liunx创建的第一个用户会被自动添加到admin用户组中,因而拥有admin用户组成员的访问权限,能够执行一定的系统管理与维护任务。因此,当需要利用超级用户的访问权限执行系统管理任务时,可在命令行中使用sudo命令。
更加奇怪的是,Ubuntu Liunx系统安装完成后,第一次执行su命令时会提示错误。
原因在于:root账户初始情况下是没有密码的,那么我们在这种情况下是否可以直接使用su命令并回车来获取root权限呢?
因为密码是不回显的,所以不输入密码只回车的执行情况与上图类同,执行结果也是一样的。也就是无法获取root账户。
如果root账户没有密码,我们可以对它进行初始密码的设定,因为我们第一个账户默认是在admin用户组中的,所以我们可以在这个账户下对root账户进行密码的初始化,具体命令为:
sudo passwd
回车后需要输入当前账户的密码,然后就是两次的root密码的初始化和验证了。
注意:上面命令中是passwd,而不是password。
详细的过程如下:
- sudo passwd
- 回车后会出现让你输入原始密码,新密码和确认密码,
- [sudo] password for you :---> 输入你的密码(你现在这个用户的密码),不回显
- Enter new UNIX password: --- > 设置root 密码
- Retype new UNIX password: --> 重复输入
这样你的root的密码设置好了。
我执行的截图:
参考资料:
- 《Ubuntu权威指南》
- ubuntu su 密码