2019-12-26

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


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


[if !vml]

[endif]


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


命令行输入visudo,打开/etc/sudoers文件,加入如下的内容,保存:

[if !vml]

[endif]



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

[if !vml]

[endif]



 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

[if !vml]

[endif]


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

[if !vml]

[endif]



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

[if !vml]

[endif]

你可能感兴趣的:(2019-12-26)