虚拟机中linux如何进入root
刚安装好的Linux系统没有设置root用户密码的,设置密码步骤如下
输入 sudo passwd root ,其中root为默认,可省略为 sudo passwd
输入密码,并再次输入确认密码
如果没有sudo权限,需要先取得sudo权限(ubuntu安装后,默认享有),这个后文介绍
修改好密码后,输入 su root 并验证密码,即可切换为root用户。
但是,不建议直接使用root用户!
root用户
Linux 系统中 root 是拥有最高权力的用户,可以在系统中实施任意的行为。
由于root的权限过大,一般情况都不使用它。只有在一些特殊情况下才采用登录root执行管理任务。
一般情况下临时使用root用户的部分权限多采用su和sudo命令。但是
su 与 sudo
参考文章:https://linux.cn/article-8404-1.html
su
su为switch user,即切换用户的简写。
su命令可以在用户之间切换,超级权限用户root向普通或虚拟用户切换不需要密码,而普通用户切换到其它任何用户都需要密码验证。
常用命令格式有两种
su - USERNAME(-, -l, --login 三种形式都表示登录l)
su USERNAME
如果不指定USERNAME,默认即为root,所以切换到root的身份的命令即为:su -root或su -,su root或su。
su USERNAME,与su – USERNAME的不同之处如下:
su – USERNAME
切换用户后,同时切换到新用户的工作环境中。
su USERNAME
切换用户后,不改变原用户的工作目录,及其他环境变量目录。
sudo
sudo是一种权限管理机制,依赖于/etc/sudoers,其定义了授权给哪个用户可以以管理员的身份能够执行什么样的管理命令;
命令格式如下,sudo不带参数默认为sudo -u root ;除了可以切换为root用户,也可以切换为其他用户执行命令。
sudo -u username [operate]
sudo执行命令时,需要输入当前用户的密码,不是-u指定的用户密码,默认保存密码15分钟,可更改为永久保存,但不建议。
sudo命令在被要求输入密码时,你的输入不会有任务显示,默认星号也没,此项也可更改以得到输入反馈。
未提到的具体操作,请参考文章 https://www.howtoforge.com/tutorial/sudo-beginners-guide/
在 Debian/Ubuntu 系统中如何配置 sudo 访问权限?
在基于 Debian 的系统中(如 Debian、Ubuntu 和 LinuxMint),使用下面的三个方法就可以做到。
方法1:在 Linux 中使用 sudo 或 admin 组为普通用户授予超级用户访问权限
sudo 或 admin 是基于 Debian 的系统中的特殊组,它提供额外的权限,可以授权用户像超级用户一样执行受到限制的命令。
如下图所示
使用命令将用户加入到admin组或者sudo组中
usermod -aG sudo username
usermod -aG admin username
直接修改用户分组文件,将用户加入到admin组或者sudo组中,文件为 /etc/group,查看一下
输出结果表示sudo组当前用户为mika,lifeng
我们使用 whoami 命令来确认用户是否已经被添加到 sudo 中。
sudo whoami
这个命令提示我们输入密码,如果密码正确,并且该用户在 sudo 组中,终端中会打印出 root。
如果用户不在 sudo 组中,我们会得到一个错误信息说 user is not in the sudoers file。
方法2:修改使用 /etc/sudoers 文件为普通用户授予超级用户访问权限
文件顶部注释内容向我们介绍了,要修改此文件,推荐使用visudo命令,此命令会对修改后的文件做格式检验,能避免错误的修改。
只需要添加如下内容即可,其中username为要赋予权限的用户
username ALL=(ALL) ALL
这里最后一个ALL表示赋予的是所有命令的权限,也可以指定赋予某些权限。关于具体参数以及更多细节暂不做了解。
文末提到了/etc/sudoers.d 目录,我们也可以通过在此目录下创建配置文件来实现用户运行命令的权限,配置文件的内容同上
在 RHEL/CentOS/OEL 系统中配置 sudo 访问权限
大体方法同上,但是用户分组不再是admin以及sudo,而是wheel
略。。。