我正在迁移到一个新的网络服务器,它设置了 SELinux(运行 Centos 5.5)。我已经设置好了它可以毫无问题地执行 CGI 脚本,但是一些旧的基于 Perl 的脚本无法连接到远程网络服务(RSS 提要等)。
运行:grep perl /var/log/audit/audit.log
给出:
type=SYSCALL msg=audit(1299612513.302:7650): arch=40000003 syscall=102 success=no exit=-13 a0=3 a1=bfb3eb90 a2=57c86c a3=10 items=0 ppid=222uid255uid =48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=235 comm="index.cgi" exe="/usr/bin/perl" subj= root:system_r:httpd_sys_script_t:s0 key=(null)
随着我在 SELinux 中的速成课程的进行,看起来它正在主动拒绝出站连接,但是我如何配置它以允许 CGI 脚本发出出站请求?
我知道我可以ps aux | grep cgi
获取当前正在运行的所有 cgi 脚本的列表,并且ps -p [pid] -o etime=
可以获得每个 pid 的运行时间;有没有办法将两者结合起来,或者更好的是,只返回那些已经运行“太长时间”(比如 45 秒)的方法?
理想情况下,我正在寻找可以放入 perl 脚本的东西,该脚本可以查找问题,将详细信息通过电子邮件发送给我,并“为了安全”主动终止进程。将输出从一个中捆绑出来,然后遍历结果会更好吗?
我已尝试遵循有关在全新 Debian 安装上安装 MySQL的官方指南。
所以我去了https://dev.mysql.com/downloads/repo/apt/,下载了 mysql-apt-config_0.8.13-1_all.deb,
运行安装程序选项
sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb
Run Code Online (Sandbox Code Playgroud)
...这似乎有效(尽管有警告):
(正在读取数据库...当前安装了 32947 个文件和目录。)
准备解压 mysql-apt-config_0.8.13-1_all.deb ...
解压 mysql-apt-config (0.8.13-1) over (0.8.13-1) ...
设置 mysql-apt-config (0.8.13-1) ...
警告:apt-key 不应在脚本中使用(从 mysql-apt-config 包的 postinst 维护者脚本调用)
OK
我做我的
sudo apt update
Run Code Online (Sandbox Code Playgroud)
再次,似乎给出了合理的输出:
获取:1 http://security.debian.org/debian-security buster/updates InRelease [39.1 kB]
Hit:2 http://deb.debian.org/debian buster InRelease
获取:3 http://deb.debian .org/debian buster-updates InRelease [49.3 kB]
Hit:4 http://repo.mysql.com/apt/debian buster InRelease
Hit:5 https://packages.microsoft.com/debian/10/prod buster InRelease
1 秒内获取 88.4 kB (85.1 kB/s)
读取包列表...完成
构建依赖关系树
读取状态信息...完成 …