错误 2002(HY000):删除一些软件包后无法通过套接字连接到本地 MySQL 服务器

错误 2002(HY000):删除一些软件包后无法通过套接字连接到本地 MySQL 服务器

因此,我的安全部门要求我从某台 Ubuntu 机器中删除一些未使用的软件包,因为如果某些入侵者获得访问权限,它们的存在会带来安全风险:

  • /usr/bin/g++
  • /usr/bin/gcc
  • /usr/bin/gdb
  • /usr/bin/make
  • /usr/bin/nc
  • /usr/bin/netcat
  • /usr/bin/perl

删除它们后,MySQL 服务器的访问权限就丢失了。起初,服务被屏蔽了,所以我取消屏蔽并重新启动。尝试重新启动服务,甚至取消注释 cnf 文件中的套接字行,以确保套接字是在 /var/lib/mysql/mysql.sock 上创建的……但这些都不起作用。

我不知道这些包中的一个是否确实是 mysql 服务器所需要的,或者这是否是一个奇怪的巧合,但是对于应该尝试什么的一些建议将会非常有用。

答案1

如果你看看MySQL 依赖项,列出了 Perl。因此,根据 Ubuntu 软件包程序的依赖关系树,MySQL 需要 Perl。

Perl 是一种传统上用于很多东西的脚本语言,因此删除它不是一个好主意。

如果您曾经apt删除过 perl,它应该会对此提出抱怨。

<咆哮>

我认为这种安全方法充其量是货物崇拜安全。删除列出的二进制文件不会让事情变得更加困难,除非你确保每一个用户可写位置也是noexec。即使这样,它的价值也微乎其微;给我展示一个没有 Python 或能够控制结构的 shell 的现代 unix 系统……

删除 netcat 意味着我必须花费三十秒用 Python 编写一个 netcat 实现- 这是一种语言不能删除并拥有一个可以正常运行的 Ubuntu 系统。

</咆哮>

相关内容