【Linux】赋予root权限

前言

  • 日常服务器开发中经常需要赋予普通用户root权限,即超级管理员权限
  • 在此记录一下Linux中如何设置管理员权限给普通用户

ps:赋予管理员权限的方法有三种,这里只记录比较常用的两种

ps2:两种方法大致都是将用户次要组群添加到管理组中,不同的是第一种的wheel组群是默认存在的,第二种则需要我们自己添加,用哪种都一样,第一种方便快捷点



方法一

  1. 创建普通用户并将wheel群添加进次要组群
[root@centos83 mysql]# visudo
// 如果%wheel前面有“#”则删除,然后保存后退出
## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

[root@centos83 mysql]# useradd -G wheel suhai	//添加新用户并设置次要组群为管理群wheel
[root@centos83 mysql]# passwd suhai
//此时用户suhai便拥有了管理员权限,使用sudo+命令即可

  1. 查看群组下有那些管理员
[root@centos83 mysql]# cat /etc/group |grep wheel
wheel:x:10:suhai

  1. 删除某用户的管理员权限
[root@centos83 mysql]# gpasswd -d suhai wheel
正在将用户“suhai”从“wheel”组中删除
[root@centos83 mysql]# cat /etc/group |grep wheel
wheel:x:10:
//删除权限后,如果又想添加回来,使用  gpasswd -a suhai wheel 命令即可

方法二

  1. 创建普通用户suhai并赋予密码
[root@centos83 ~]# useradd suhai
[root@centos83 ~]# passwd suhai
更改用户 test 的密码 。
新的 密码:***
无效的密码: 密码少于 8 个字符
重新输入新的 密码:***
passwd:所有的身份验证令牌已经成功更新。

  1. 切换到suhai用户,分别使用和不使用sudo命令访问/etc/shadow(密码映射文件)【测试权限步骤,可跳过】
[root@centos83 ~]# su - suhai	//切换到suhai账户环境

[suhai@centos83 ~]$ ll /etc/shadow
//此时可以看到shadow文件权限为000,只有root账户才可以访问
----------. 1 root root 940 1月   5 21:59 /etc/shadow

//没有赋予root权限时普通账户无法访问
[suhai@centos83 ~]$ cat /etc/shadow
cat: /etc/shadow: 权限不够
[suhai@centos83 ~]$ sudo cat /etc/shadow
[sudo] suhai 的密码:
suhai 不在 sudoers 文件中。此事将被报告。

  1. 切换到root账户下使用 visudo命令修改/etc/sudoers配置文件,赋予管理员权限
[suhai@centos83 ~]$ su -	//切换到root账户环境
[root@centos83 ~]# visudo
//找到如下内容位置,在root那行下添加相同内容,并修改用户名为suhai,修改后保存并退出
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
suhai   ALL=(ALL)       ALL

  1. 修改后切换到suhai用户下,查看/etc/shadow文件
[root@centos83 ~]# su - suhai
上一次登录:二 1月  5 22:03:56 CST 2021pts/1 上
[suhai@centos83 ~]$ cat /etc/shadow
cat: /etc/shadow: 权限不够
[suhai@centos83 ~]$ sudo cat /etc/shadow	//使用管理员权限务必在命令前加上sudo
[sudo] suhai 的密码:
root:$6$bOvtr3SEDmKnR1sP$eL98pSpNMPakWsk9QsjqnU/XSZZMeU5YwDr4U9l4eoC9u/Ard6N..UtT5pdcO5xroLKvOpe6OcUKWp2WdUDug/::0:99999:7:::
bin:*:18397:0:99999:7:::
。。。。。。。。。。。。省略。。。。。。。。
suhai:$6$Vh9/o5kehkhaw8MT$q/5XSOa5zt45kP5e2zZcQGDgDa4uQgxwjcaG5blkJkOFy/64AF0MsKhpr415ck6VOhJRlXf5tcTH25wLjuGB61:18632:0:99999:7:::
  1. 虽然是管理员权限,但每次都需要输入用户密码,此时可以修改sudoers配置文件,免除密码验证
// 此时直接在suhai账户下使用sudo管理员权限修改即可,不需要切换root
[suhai@centos83 ~]$ sudo visudo	

// 找到如下内容,在%where行下方添加相同内容,修改为suhai用户名,修改后保存并退出
## Same thing without a password
# %wheel        ALL=(ALL)       NOPASSWD: ALL
suhai   ALL=(ALL)       NOPASSWD: ALL

// 此时再在suhai账户下使用命令sudo cat /etc/shadow时即可免密直接查看内容
  1. 这种方法设置的,查看有哪些管理员只需要去visudo文件查看即可,删除的话就把原先添加的地方删除就行
原文地址:https://www.cnblogs.com/suhai/p/14238391.html