📌  相关文章
📜  ubuntu 目录权限:etc sudoers.d - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:20:46.248000             🧑  作者: Mango

Ubuntu 目录权限:/etc/sudoers.d

在 Ubuntu 系统中,/etc/sudoers.d 是一个目录,用于存储包含sudo规则的文件。sudo规则允许普通用户在没有特权的情况下执行特权命令。

目录结构

在 /etc/sudoers.d 目录中,应包含具有以下结构的文件:

/etc/sudoers.d/
    ├── 90-cloud-init-users
    ├── README
    ├── 010_ubuntu
    └── 020_ansible

其中:

  • README: 文件夹的介绍和使用说明
  • 010_ubuntu: 包含 Ubuntu 特定的 sudo 规则
  • 020_ansible: 包含 Ansible 安装的规则
  • 90-cloud-init-users: 包含云初始化用户的规则

建议所有自定义规则的文件名应以数字和字母的组合开头,例如 "010_ubuntu"。这样可以使规则按照数字顺序加载,确保它们以正确的顺序覆盖默认规则。

文件权限

所有在 sudoers.d 目录中的文件必须具有 0440 权限,并且必须属于 root 用户和 root 组。这是为了确保只有 root 用户可以编辑这些文件,并且 sudo 命令将不会执行由任何其他用户创建的文件中定义的命令。

编辑文件

可以使用 visudo 命令编辑 sudoers.d 目录中的任何文件。例如,编辑 010_ubuntu 文件,运行以下命令:

sudo visudo -f /etc/sudoers.d/010_ubuntu

此命令将打开 010_ubuntu 文件并使用 visudo 编辑器进行编辑。

示例规则

下面是一个示例规则,允许指定用户执行sudo:

# /etc/sudoers.d/010_ubuntu

# Allow a specific user to run all commands
user ALL=(ALL) ALL

此规则允许名为 "user" 的用户执行所有命令,而无需输入密码。

更多规则示例可以在sudoers man页面中找到。通过运行以下命令来访问它:

man sudoers
结论

在 Ubuntu 中,/etc/sudoers.d 目录包含用于存储 sudo 规则的文件。这些规则授权普通用户在没有特权的情况下执行特权操作。所有规则文件都必须具有正确的权限,并且应该使用 visudo 编辑器进行编辑。