sudoers 文件中的解析错误

jef*_*eon 6 sudo init.d ansible

我创建了一个用户kafka,我试图给他一个只运行/etc/init.d/kafka命令的 sudo 访问权限。

/etc/sudoers.d/kafka通过 Ansible添加了以下条目:

kafka ALL = NOPASSWD: /etc/init.d/kafka

但是,这完全破坏了 sudo 并出现以下错误:

/etc/sudoers.d/kafka:近线1语法错误
须藤:在/etc/sudoers.d/kafka靠近1号线分析错误
须藤:没有有效的sudoers的来源发现,戒烟
须藤:无法初始化政策插件

这是完整的 Ansible 片段:

- name: Create kafka user's group
  group:
    name: "{{ kafka_group }}"
    state: present

- name: Create kafka user
  user:
    name: "{{ kafka_user }}"
    state: present
    group: "{{ kafka_group }}"
    shell: /bin/bash

- name: Set up password-less sudo for kafka user
  copy:
    content: "{{ kafka_user }} ALL = NOPASSWD: /etc/init.d/{{ kafka_service_name }}"
    dest: "/etc/sudoers.d/{{ kafka_user }}"
    owner: root
    group: root
    mode: 0440
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

HBr*_*ijn 12

源自或指令中 包含的任何文件的“sudo: parse error in ...”可能是由该文件中最后一个条目上缺少换行符引起的。/etc/sudoers#include <filename>#includedir <path>