ALL ALL=(ALL) NOPASSWD:ALL
线是自动添加两次在我的文件的末尾/etc/sudoers
。
- 每次运行 sudo 命令时,我的 Linux 突然不再要求输入密码。这促使我调查这个问题。
- 即使在运行
sudo -k
重置宽限时间后,它也不会询问我的密码。 - 我弄清楚了该行的含义,并注释掉了这两行来解决问题,然后事情就恢复正常了。
但根据我的搜索 sudoers 文件只是手动编辑我不可能向所有用户授予所有命令的 NOPASSWD 权限。 这是否意味着我执行的脚本更改了 sudoers 文件?这是否值得担忧?
操作系统:Linux Mint 18.3 肉桂
答案1
运行此命令后
sudo grep -rl 'NOPASSWD:ALL' /etc /lib /usr /var /home /root
您建议有几个文件匹配:
/etc/sudoers
/usr/lib/snapd/snapd
/var/log/auth.log
/home/neon/HUAWEI-4g_Dongle/Linux/install
可以合理地预期这些文件中的前三个包含匹配项,并且可以安全地忽略。另一方面,第四个似乎可能是罪魁祸首,需要进一步调查。
确实,你的帕斯特宾显示这些片段:
SOFTWARENAME="Mobile Partner"
SOFTWARENAME=$(echo $SOFTWARENAME | sed s\#\ \#_\#g)
TEMPFILE="${SOFTWARENAME}_install_$PPID"
...
grep -v "MobilePartner.sh" /etc/sudoers >/tmp/${TEMPFILE} 2>&1
echo -e "ALL ALL=(ALL) NOPASSWD:ALL" >> /tmp/${TEMPFILE}
...
cp -f /tmp/${TEMPFILE} /etc/sudoers
是的,我想说这是一个(可怕的)安全漏洞,来自相当糟糕的质量代码。
从文件中删除(或注释掉)这些行后/etc/sudoers
,我还建议您检查该文件的权限。它们应该是ug=r,o=
( 0440
= r--r-----
),可能属于root
: root
。