解决 Linux 系统,出现“不在sudoers文件中,此事将被报告”的问题

昨天,我在公司的服务器上遇到了个麻烦,一个新同事在尝试用sudo命令安装软件时,屏幕上跳出了那行让人摸不着头脑的提示:“不在sudoers文件中,此事将被报告”。
这可把那小伙子急坏了,我赶紧过去帮忙。

我首先让他切换到了root用户,他输入了命令suroot,然后按提示输入了root用户的密码。
接着,我用ls -l /etc/sudoers检查了一下权限,果然是只读的。
我赶紧用chmod u+w /etc/sudoers改成了可写。

然后,我用vim编辑了/etc/sudoers文件,在“root ALL=(ALL) ALL”下面加了“username ALL=(ALL) ALL”,替换了“username”为那个同事的用户名。
保存退出后,我又用chmod 4 4 0 /etc/sudoers恢复了权限。

最后,我让他用ll /etc/sudoers检查了一下,权限果然是4 4 0了。
他尝试了一下sudo命令,嘿,居然成功了!
等等,我还突然想到,下次得给他讲讲,sudoers文件是个挺重要的东西,得好好保管。
不过,话说回来,这sudoers文件里到底还有哪些玄机呢?

Linux 中 root 与 sudo 的用法与区别,居然这么多人搞不清楚!

root是系统管理员账号,权限最大。
root直接操作,风险高。
sudo是普通用户临时提权工具。
sudo用前加sudo,需输入自己密码。
root改系统文件,sudo只限特定命令。
sudo记录操作日志,root默认不记录。
sudo符合最小权限原则,更安全。
sudoers文件控制权限,灵活配置。
用sudo代替root,系统更稳定。
建议不用root,多用sudo。
你自己掂量。