我/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
如果仍然给您带来麻烦,请注释掉它们仅存的实例(放在
#
它前面)。我不知道用户/组lecture
、tty_tickets
和fqdn
的用途,但它们不是默认 Ubuntu 安装的一部分。
您问的是,如何防止将来再发生这样的事情:
sudoers
如果没有语法检查器的话请勿编辑visudo
!不要跑愚蠢的程序以超级用户身份尝试对 进行未经检查的更改
/etc/sudoers
!sudoers
应将 中的新文件添加到 中/etc/sudoers.d/
。