linux如何配置普通用户(非root用户)的sudo权限

sudo是为所有想使用root权限的普通用户设计的。可以让普通用户具有临时使用root权限的权利,只需要普通用户输入自己账户的密码即可。当然这个普通用户必须在/etc/sudoers文件中具有配置项,才具有使用sudo的权利。

没有配置权限之前,普通用户是无法进行root权限操作的,下图的user-1是用户的名字,例如普通用户查看/root目录下的文件:

 

使用root用户编辑/etc/sudoers文件,给普通用户授权

命令行输入visudo,打开/etc/sudoers文件,加入如下的内容,user-1是用户的名字,保存:

 

这样普通用户就可以使用sudo执行需要root权限的命令了,如下:

 

 

 sudo的工作过程如下:

1. 当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限

2. 确认用户具有执行sudo的权限后,让用户输入自己的密码进行确认

3. 若密码输入成功,则开始执行sudo后续的命令

如果想要更加精准的控制普通用户使用sudo的场景,就需要理解配置中的含义。

user-1 ALL=(ALL)    ALL

第一个ALL是指网络中的主机,我们可以指定主机名,这样user-1用户只可以在此主机上执行后面的命令。第二个括号里的ALL是指目标用户,也就是以谁的身份去执行命令,最后一个命令指命令名称。

例如,我们想让user-1用户在node-1主机上以allen的身份执行kill命令,就可以这样编写配置文件:

user-1 node-1=(allen)    /bin/kill

案例:只允许user-1用户以root身份在node-1主机上执行ls、cat命令,并且执行的时候免输入密码。

 需要修改/etc/sudoers配置文件:

user-1 node-1=NOPASSWD:    /bin/ls,/bin/cat

 

此时若user-1用户执行非ls、cat命令时会被禁止:

而ls命令就可以正常执行:

 


原文链接:https://blog.csdn.net/czr11616/article/details/99767464

猜你喜欢

转载自www.cnblogs.com/FengZeng666/p/12359278.html