/etc/sudoers 第23行附近错误的原因是什么?

/etc/sudoers 第23行附近错误的原因是什么?

/etc/sudoers使用pkexec visudo命令修复了第 23 行附近的错误。但我不知道原因。有人能告诉我原因吗?以及如何防止将来出现此类错误?

我的文件如下:

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d
Defaults !lecture, !tty_tickets, !fqdn 
Defaults !lecture, !tty_tickets, !fqdn 
Defaults !lecture, !tty_tickets, !fqdn 
Defaults !lecture, !tty_tickets, !fqdn 
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^

我可以通过删除最后一行来解决这个问题。但不知道原因。

答案1

总是用来visudo编辑sudoers

要解决此问题,请使用visudo删除

  • 最后一行,

    ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^`
    
  • 以及其前的重复行。

    Defaults !lecture, !tty_tickets, !fqdn
    Defaults !lecture, !tty_tickets, !fqdn
    Defaults !lecture, !tty_tickets, !fqdn
    

    如果仍然给您带来麻烦,请注释掉它们仅存的实例(放在#它前面)。我不知道用户/组lecturetty_ticketsfqdn的用途,但它们不是默认 Ubuntu 安装的一部分。

您问的是,如何防止将来再发生这样的事情:

  • sudoers如果没有语法检查器的话请勿编辑visudo

  • 不要跑愚蠢的程序以超级用户身份尝试对 进行未经检查的更改/etc/sudoerssudoers应将 中的新文件添加到 中/etc/sudoers.d/

相关内容