Linux sudo主要是用于把部分权限分给特定的用户使用,同时又限定特定用户不能超过权限使用范围。

    sudo的配置文件:/etc/sudoers(权限为440,意思仅root用户才能使用它),此文件建议不要以vim等命令来编辑,最好直接用命令visudo.

    visudo编辑/etc/sudoers条目格式:

                        who    which_hosts=(runas)    [TAG:]command

    上条目的通俗意思:某个用户(who)能以另一个用户的身份(runas)通过那些(远程来的)主机(which_hosts)执行什么命令(command).

    who、which_hosts、runas、command支持别名(相当于组的概念),别名必须全部且只能使用大写英文字母的组合

   who的别名规范:User_Alias  USERSALIAS = ......(.....可以是用户的用户名、%组名、其他用用户的别名(也就是嵌入)

   which_hosts的别名规范:Host_Alias  HOSTALIAS = .....(....可以是主机名、hostIP、network/netmask)

   Runas_Alias的别名规范:EXEUSERS = .....(.....可以是用户名、%组名、其他Runas别名)

   Cmnd_Alias的别名规范: CMD = .....(.....可以是命令的绝对路径、目录(此目录内的所有命令)、其它事先定义过的命令别名)

   TAG主要有NOPASSWD(不要用户输入密码)、PASSWD(用户输入密码;默认是要输入密码,输入密码为who的密码

sudo命令执行日志记录在/var/log/secure

具体使用和注意事项请参考:man sudoers

例子:(平台redhat5.8-64位系统)

wKioL1cPOoHipkn4AAAG4aNPXyQ468.png

wKiom1cPOcqDmCcUAAAb2HlnqYA645.png

wKioL1cPOoLzgxVlAAAjZTKQsjI175.png

wKiom1cPOcriE1z6AAAHLTJVFLQ129.png

wKioL1cPOoKwj9HxAAAU-apCdmk886.png

wKioL1cPOoKiCoAKAAArs1NU2lA750.png

wKioL1cPOoPD8F9LAAAWayuKFrg319.png

例2:(加入TAG和别名)

wKiom1cPPhShVfPZAABsHoHaQbc034.png