阅读量:0
Linux sudoers 文件用于定义用户和用户组的权限,以便他们可以使用 sudo 命令执行特权操作
注释:以 # 开头的行是注释行,不会被解析。
别名(Alias):别名可以简化配置,避免重复。有四种类型的别名:User_Alias、Runas_Alias、Host_Alias 和 Cmnd_Alias。别名定义的语法如下:
类型_别名 名称 = 列表
例如,定义一个用户别名:
User_Alias ADMINS = alice, bob
用户规则:用户规则定义了哪些用户可以执行哪些命令。规则的基本语法如下:
用户名/用户组 主机名=(运行用户) 命令
例如,允许用户 alice 在本地主机上以 root 用户身份执行所有命令:
alice localhost=/bin/bash
使用别名定义的规则示例:
ADMINS ALL=(ALL) ALL
命令参数:可以为命令添加参数,以限制用户只能使用特定的参数执行命令。例如,允许用户 alice 使用 -l 参数执行 ls 命令:
alice ALL=(ALL) /bin/ls -l
默认选项:可以为用户设置默认选项,例如要求输入密码或者保持环境变量。默认选项的语法如下:
Defaults:用户名/用户组 选项
例如,要求用户 alice 在执行命令时输入密码:
Defaults:alice requiretty
包含其他配置文件:可以将配置分散到多个文件中,以便更好地组织和管理。使用 @include 指令包含其他配置文件:
@include /path/to/other/sudoers.file
权限继承:可以通过从其他用户或用户组继承权限来简化配置。例如,让用户 alice 继承用户 bob 的权限:
alice ALL=(ALL) ALL, bob
了解这些语法要点有助于正确编辑 sudoers 文件,以便实现对用户和用户组的精细权限控制。在编辑 sudoers 文件时,建议使用 visudo
命令,因为它会检查语法错误,以防止因错误配置而导致的问题。