“ALL ALL=(ALL) NOPASSWD:ALL”已自动添加到我的 /etc/sudoers 文件中。这是安全漏洞吗?

Neo*_*n44 9 security sudo

ALL ALL=(ALL) NOPASSWD:ALL行在我的文件末尾自动添加了两次/etc/sudoers

  • 每次运行 sudo 命令时,我的 linux 突然停止要求输入密码。这让我调查了这个问题。
  • 即使在运行sudo -k重置宽限时间之后,它也不会要求我输入密码。
  • 我弄清楚了该行的含义并注释掉了 2 行以解决问题,事情又恢复了正常。

    但是根据我的搜索,sudoers 文件只能手动编辑,我无法向所有用户授予所有命令的 NOPASSWD 权限。 这是否意味着我执行的脚本更改了 sudoers 文件?这是一个令人担忧的原因吗?

操作系统:Linux Mint 18.3 Cinnamon

roa*_*ima 9

运行此命令后

sudo grep -rl 'NOPASSWD:ALL' /etc /lib /usr /var /home /root
Run Code Online (Sandbox Code Playgroud)

你建议有几个文件匹配:

/etc/sudoers
/usr/lib/snapd/snapd
/var/log/auth.log
/home/neon/HUAWEI-4g_Dongle/Linux/install
Run Code Online (Sandbox Code Playgroud)

可以合理地预期这些文件中的前三个文件包含匹配项,并且可以安全地忽略。另一方面,第四个似乎是一个可能的罪魁祸首,需要进一步调查。

事实上,你的pastebin显示了这些片段:

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
Run Code Online (Sandbox Code Playgroud)

是的,我会说这是一个来自相当糟糕的质量代码的(可怕的)安全漏洞。

从您的/etc/sudoers文件中删除(或注释掉)这些行后,我还建议您检查该文件的权限。它们应该是ug=r,o=( 0440= r--r-----),可能归root:拥有root