/etc/sudoers: syntax error near line xxxx

>>> /etc/sudoers: syntax error near line 28 <<<
sudo: parse error in /etc/sudoers near line 28
sudo: no valid sudoers sources found, quitting

这个错误其实是挺棘手的,一般来说我们有一个能够使用 sudo 获取超级权限的用户是相当方便的,不需要去启用 root 用户。而且现在的 Ubuntu 中也是默认不启用 SuperUser 的,在官网上也列出了好几个不错的优点,转而让普通用户通过 sudo 来获取对应的权限。

今天想通过添加用户命令添加了一个用户,有这样的提示:

edgarzeng@iZ23tenxmebZ:~$ sudo apt-get update
[sudo] password for edgarzeng: 
edgarzeng is not in the sudoers file.  This incident will be reported.

完了,咱这个新用户没这么受欢迎,还不让用 sudo 了。不过,其实人家已经说的比较清楚了,泥小子不在 sudoers 里边哦。好吧,这么客气,我们就给个申请进去不就好了么。

edgarzeng ALL = (ALL) ALl

以上这句话我们需要添加到一个任意命名的文件中,置于/etc/sudoers.d/之下,我将这个文件就命名为 edgarzeng,呵呵,不错。完了有件事可别忘了:

 sudo chmod 0440 edgarzeng


这是将刚刚我们创建的那个文件权限给改了,这样才有效,否则系统会很有爱的提示您:

edgarzeng@iZ23tenxmebZ:/etc/sudoers.d$ sudo apt-get update
sudo: /etc/sudoers.d/edgarzeng is mode 0644, should be 0440
[sudo] password for edgarzeng: 


就在我要使用的时候就有这玩意儿提示我了。最终,也是 sudo 无法使用。

好了,其实如果一切顺利的话就会如上一样,轻轻松松搞定了。

可是,不知道是否有注意到我 edgarzeng 文件中的语法是问题的呢?这直接就导致了 sudo 直接无法使用了,错误即开篇提到的那个。哎,悲催。请注意 最后一个 ALl ,二笔般的就给把 L 小写了,这就是传说中的 syntax error。

然后我开始满大街的找方案,又见识了满大街都是一家人的网络,一律都是暴力方式啊,这里我就不举出是什么方案了,有兴趣自己百度(不推荐使用,但是这种方案也就只有百度能给出了)

那既然我们是把语法给搞错了么,就把它搞正确不就好了么,介绍个其实和 sudo 有异曲同工的 命令 pkexec,而且官方推荐在运行具有 gui 的程序时最好用后者的:

pkexec visudo -f /etc/sudoers.d/edgar 

然后,就可以编辑那个错误的东东。ok,搞定。







  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值