因此,我的安全部门要求我从某台 Ubuntu 机器上删除一些未使用的软件包,因为它们的存在会带来安全风险,以防某些入侵者获得访问权限:
- /usr/bin/g++
- /usr/bin/gcc
- /usr/bin/gdb
- /usr/bin/制作
- /usr/bin/nc
- /usr/bin/netcat
- /usr/bin/perl
在删除它们之后,对 MySQL 服务器的访问就丢失了。起初服务被屏蔽了,所以我揭开它并重新开始。尝试重新启动服务,甚至取消注释 cnf 文件中的套接字行以确保套接字是在 /var/lib/mysql/mysql.sock 中创建的……但这些都不起作用。
我不知道 mysql 服务器是否真的需要这些包中的一个,或者这是否是一个奇怪的巧合,但是关于尝试什么的一些建议会很好。
如果您查看MySQL 的依赖项,则会列出 Perl。因此,根据 Ubuntu 打包程序的依赖树,MySQL 需要 Perl。
Perl 是一种脚本语言,传统上用于很多东西,因此删除它不是一个好主意。
如果你曾经
apt
删除过 perl,它应该会抱怨这个。<咆哮>
我会说这种安全方法充其量是货物崇拜安全。删除列出的二进制文件不会使其变得更加困难,除非您确保每个用户可写位置也是
noexec
. 即便如此,它的价值也很小;向我展示一个没有 Python 或能够控制结构的 shell 的现代 unix 系统......删除 netcat 意味着我将不得不花费30 秒在 python 中编写 netcat 实现——这是一种你无法删除并拥有一个工作的 Ubuntu 系统的语言。
</咆哮>