sudo授权详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012949658/article/details/53401888

在实际应用中,因为怕造成难以挽回的失误,所以尽量会避免root用户直接操作,为了能让普通用户执行特殊命令,就需要对普通用户sudo授权。

sudo的配置文件是/etc/sudoers,一般是没有写权限的,添加写权限之后再修改文件的内容。

最常见的授权方式如下:

hhALL=(ALL) ALL

hh:想要授权的用户

第一个ALL:允许从任何终端(机器)使用sudo

(ALL):切换到哪一个用户执行命令,如果缺省默认是root

最后一个ALL:允许用户执行任何命令,如果是多个命令就用逗号隔开

这样设置每次在使用sudo的时候,都需要输入hh的用户密码,如果不想输入密码,可以加入NOPASSWD:参数,上面的授权语句就要变成

hhALL=(ALL)  NOPASSWD:ALL

为了增加读者的理解,这里给出几个示例。

示例一:

hh ALL=/bin/chmod,/bin/chown

如果在配置文件中添加上面那一句,用户hh就可以在任何机器上,切换到root用户下执行/bin/chmod和/bin/chown命令,可以用 sudo -l查看用户可执行的 sudo命令。


示例二:

hh ALL=(root)/bin/chmod,/bin/chown

这条语句和示例一产生的效果是一样的,(user)如果不写,则默认是root


示例三:

hh ALL=(root)NOPASSWD:/bin/chmod,/bin/chown

这句话表示用户hh可以在任何机器上,切换到root用户,执行/bin/chmod命令的时候不用输入密码,但是在执行/bin/chown命令的时候需要输入hh用户的密码。

示例四:取消某类程序的执行

hh ALL=/usr/sbin/*,/sbin/*,!/usr/sbin/fdisk

这句话表示hh用户可以在任何机器上,切换到root用户,执行/usr/sbin和/sbin目录下的任何命令,单fdisk除外。


示例五:给用户组添加权限

给单个用户添加权限的规则适用于用户组,不过要在用户组前面添加%,%和用户组之间没有空格

%hh ALL=/bin/chmod,/bin/chown

这句话表示hh用户组下的所有成员可以在任何机器上,切换到root用户,执行/bin/chmod和/bin/chown命令。

看完上面的所有示例,相信读者就可以处理大多数的sudo权限配置了。

猜你喜欢

转载自blog.csdn.net/u012949658/article/details/53401888
今日推荐