前言
- 日常服務器開發中經常需要賦予普通用戶root權限,即超級管理員權限
- 在此記錄一下Linux中如何設置管理員權限給普通用戶
ps:賦予管理員權限的方法有三種,這里只記錄比較常用的兩種
ps2:兩種方法大致都是將用戶次要組群添加到管理組中,不同的是第一種的wheel組群是默認存在的,第二種則需要我們自己添加,用哪種都一樣,第一種方便快捷點
方法一
- 創建普通用戶並將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+命令即可
- 查看群組下有那些管理員
[root@centos83 mysql]# cat /etc/group |grep wheel
wheel:x:10:suhai
- 刪除某用戶的管理員權限
[root@centos83 mysql]# gpasswd -d suhai wheel
正在將用戶“suhai”從“wheel”組中刪除
[root@centos83 mysql]# cat /etc/group |grep wheel
wheel:x:10:
//刪除權限后,如果又想添加回來,使用 gpasswd -a suhai wheel 命令即可
方法二
- 創建普通用戶suhai並賦予密碼
[root@centos83 ~]# useradd suhai
[root@centos83 ~]# passwd suhai
更改用戶 test 的密碼 。
新的 密碼:***
無效的密碼: 密碼少於 8 個字符
重新輸入新的 密碼:***
passwd:所有的身份驗證令牌已經成功更新。
- 切換到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 文件中。此事將被報告。
- 切換到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
- 修改后切換到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:::
- 雖然是管理員權限,但每次都需要輸入用戶密碼,此時可以修改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時即可免密直接查看內容
- 這種方法設置的,查看有哪些管理員只需要去visudo文件查看即可,刪除的話就把原先添加的地方刪除就行