通常在linux系统登录的时候默认是不以root用户,而执行某些命令的时候,需要超级管理员权限,普通用户以超级管理员权限执行命令的三种方法
首先最常用的方法是 直接加sudo命令,而加sudo 命令是有前提的,要么在sudoer 组内,具体有两种方法
1、见的最多的应该是,在 /etc/sudoers 文件中添加
username ALL=(ALL:ALL) ALL
2、 在group中添加,具体也有两种方法,个人推荐的是 a中的方法,其他的没有测试过,慎用,修改passwd文件的方法详见:链接
a.命令修改
sudo adduser username sudo
b.修改 /etc/passwd
username:x:0:0::/home/username:/bin/bash
[用户名]:[密码]:[UID]:[GID]:[身份描述]:[主目录]:[登录shell]
这个用户这一行,把其中的uid改为0,gid改为0, 这样username用户就具有root权限了
第三种方法:不设置任何账户具有root权限,直接从普通账户切换到root账户
sudo - / su root
执行上面的命令可以直接从普通用户切换成root用户, 注意输入密码的时候,要输入的是root账户的密码,不是当前用户的密码,因此,这个root密码需要提前设置好(sudo passwd root)。
而如果输入的是 sudo -i / sudo su 切换成root的时候只要输入 当前用户的密码即可,注意区分。
补充移除超级管理员账户
对于1在/etc/sudoers 文件中添加的,可以直接删除或者在 添加那行最前面加上 # 注释掉就行
对于2 在group 中添加的,
a.命令修改
sudo adduser username sudo
|
| 移除
v
sudo gpasswd -d username sudo
b.修改 /etc/passwd
username:x:0:0::/home/username:/bin/bash
[用户名]:[密码]:[UID]:[GID]:[身份描述]:[主目录]:[登录shell]
把UID和GID改成原来的ID即可,不推荐这种方法
参考文献:
https://blog.csdn.net/lumping/article/details/106459555
https://ubuntuqa.com/article/2202.html
https://www.cnblogs.com/ssc4469/p/4180353.html