sudo命令免输密码配置

闲来无聊再次作死权限的管理,这次是想实现一下输入sudo 命令时无需输入密码的配置。之前看了教程,感觉挺简单的,就没试过。今天突然心血来潮想配置下,结果就被权限玩的很惨,重启了好几次电脑。。。。。。

网上说的很简单,就是在/etc/sudoers文件里的%admin ALL=(ALL)  ALL 改成%admin ALL=(ALL) NOPASSWD: ALL 即可。其实他说的也没错,可是自己手敲的时候敲残了,结果保存之后再用sudo 命令就报错了,说无法正确读取sudo!本来修改sudoers文件就需要sudo 命令,现在sudo 命令也用不了了。。。没辙,只能重启电脑进recovery模式重新配置一下了。(方法见:这里

好了,修改完之后发现还是不能实现免密码登陆。想了想有可能是我当前的用户不在admin组里,于是打开/etc/group文件看了看,竟然没有admin这个组。没事,我记得我的用户是在sudo这个组里的,那么再次修改下sudoers文件,在sudo 组里加上NOPASSWD:ALL 即可了。(手残又敲错,重启电脑中。。。。)

这样配置完之后,试了下果然可行。

后来想了想,如果每次不小心配置错sudoers 文件都要重启的话,岂不是很麻烦。肯定有更好的方法。查了下发现可以用 visudo 这个命令来修改/etc/sudoers文件。用这个修改之后,他会检查语法,如果语法不合规范,他是不会让你保存的。这倒是蛮人性化的,只是这个命令用的是nano 编辑器,vim 用惯了就完全不习惯这种东西了。不高兴。

网上找了下还有一个办法,就是先给sudoers文件740的权限,修改,修改完再改回440。这样就可以在出错的时候有修改的权限了。然而试了下并没有卵用,就算有440的权限,修改这个还是要用sudo 命令的,此法不通。。。(作死重启修改配置中。。。)

然后突发奇想,何不把权限改成777,这样不就能修改了么,大不了最后再改回来就行了。试了下,发现ubuntu有一个坑爹、但是很有道理的策略,就是sudoers文件的不能对所有用户都有7的权限,否则就不给你用。。。。无奈,再次啥都动不了(作死重启修改配置中。。。)

最后突然意识到----为什么不在一开始就用 sudo  -i 进入root 模式呢,这样不就不用输入sudo 来修改文件了么。。。。。。