Linux 临时提权 sudo
在Linux中,有时为了让普通用户获得root的执行权限,除了之前讲过的su -永久提权方法,还有一种常用的方法,就是sudo。
因为普通用户每次使用su -方法,都需要输入root的密码,不是非常方便,而sudo的好处是可以通过组的方式批量赋予普通用户权限。sudo的工作过程如下:
(1)当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限
(2)确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认
(3)若密码输入成功,则开始执行sudo后续的命令
由sudo的工作过程可知,我们在使用sudo时需要修改/etc/sudoers配置文件,具体的配置过程如下:
(1)我们必须以root身份登录Linux,通过vim /etc/sudoers可进入编辑界面,如下图所示
(2)通过/NOPASSWD查找到该语句 %wheel ALL=(ALL) NOPASSWD: ALL,并去掉前面的%使wheel组生效。:wq!强制保存退出。
(3)root指定普通用户(如slephant)的附加组为wheel。通过id slephant可查看其附加组情况:slephant的附加组有两个,其中一个为组id=1000的slephant,另一个为组id=10的wheel
(4)切换到slephant普通用户,先尝试useradd添加用户test_user,发现权限不够;别担心,此时再试试sudo useradd test_user,发现没报错,并且id test_user可以看到用户已经创建。
以后想赋予其他用户root权限,只需要将其添加到附加组wheel中即可。
有时想给某个用户root权限,但是又觉得添加附加组wheel比较麻烦,也可以通过添加一下语句,假设要添加的用户还是slephant: slephant ALL=(ALL) NOPASSWD:ALL 如图所示。同样能达到同样的效果,只是想要批量赋予权限不方便而已。
Linux