像我们中的许多人一样,我昨天花了很多时间更新大量系统以减轻Meltdown 和 Spectre 攻击。据我了解,有必要安装两个包并重新启动:
kernel-3.10.0-693.11.6.el7.x86_64
microcode_ctl-2.1-22.2.el7.x86_64
Run Code Online (Sandbox Code Playgroud)
我有两个 CentOS 7 系统,我已经在这些系统上安装了这些软件包并重新启动。
根据 Red Hat 的说法,我可以通过检查这些 sysctl 并确保它们都为 1 来检查缓解的状态。 但是,在这些系统上,它们并非都是 1:
# cat /sys/kernel/debug/x86/pti_enabled
1
# cat /sys/kernel/debug/x86/ibpb_enabled
0
# cat /sys/kernel/debug/x86/ibrs_enabled
0
Run Code Online (Sandbox Code Playgroud)
我也不能将它们设置为 1:
# echo 1 > /sys/kernel/debug/x86/ibpb_enabled
-bash: echo: write error: No such device
# echo 1 > /sys/kernel/debug/x86/ibrs_enabled
-bash: echo: write error: No such device
Run Code Online (Sandbox Code Playgroud)
我确认英特尔微码似乎已在启动时加载:
# systemctl status microcode -l
? microcode.service - Load CPU microcode update
Loaded: loaded (/usr/lib/systemd/system/microcode.service; enabled; vendor …Run Code Online (Sandbox Code Playgroud) 最新的 Fedora 将 firewalld 作为新的防火墙应用程序。我喜欢旧的 iptables 服务。我想让他们回来,但不知道该怎么做。我试过了 :
systemctl disable firewalld.service
systemctl stop firewalld.service
systemctl enable iptables.service
systemctl enable ip6tables.service
systemctl start iptables.service
systemctl start ip6tables.service
Run Code Online (Sandbox Code Playgroud)
但它不起作用!在 wiki 或 google 上没有找到任何帮助。
禁用 firewalld 工作正常,但是当我尝试启用 iptables.service 时,我得到:
systemctl enable iptables.service
Failed to issue method call: No such file or directory
Run Code Online (Sandbox Code Playgroud) 在工作中,基础架构团队正在推出以 RHEL7 作为基本操作系统的新虚拟机。这个特定的图像随nmap-ncatNetcat 版本一起提供,并且没有安装 NMap。我们不能在机器上安装任何东西。
以前,我们使用 GNU Netcat,它可以-z选择扫描远程主机/端口以检查它是否打开。像这样的东西:
nc -z -v -w 3 remote.host.name 1234
Run Code Online (Sandbox Code Playgroud)
我如何才能对无法安装的系统上ncat没有-z选项的新版本进行相同的检查nmap?
我有一个 Redhat 服务器 ( Red Hat Enterprise Linux Server release 7.2 (Maipo)),它在重新/启动时重置 iptable 规则。
根据版本 6 文档,我执行:
/sbin/service iptables save
Run Code Online (Sandbox Code Playgroud)
返回:
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.
Run Code Online (Sandbox Code Playgroud)
如果我正确理解了消息,我尝试了以下操作:
sudo systemctl iptables save
Run Code Online (Sandbox Code Playgroud)
返回:
Unknown operation 'iptables'.
Run Code Online (Sandbox Code Playgroud)
我找不到关于保存 ip 表的版本 7 文档,但以前的版本支持相同的命令。
我应该运行什么命令来保存 iptables 配置?
以供参考:
防火墙 d 状态:
systemctl status firewalld
firewalld.service
Loaded: not-found (Reason: No such file …Run Code Online (Sandbox Code Playgroud) 我开始使用 RHEL7 并了解一些 systemd 带来的变化。
有没有办法/sbin/service iptables save在firewalld中执行?
$ /sbin/service iptables save
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.
Run Code Online (Sandbox Code Playgroud)
我可以从文档中找到的最接近的平行是--reload:
Reload the firewall without loosing state information:
$ firewall-cmd --reload
Run Code Online (Sandbox Code Playgroud)
但它没有明确说明它是否在保存。
我用安装光盘安装了 RedHat,注册了我的权利,所有这些。
作为订阅的一部分,我拥有红帽企业 Linux 工作站和红帽企业 Linux 桌面。(加上一吨其他)
我的问题是当前安装的产品是 Red Hat Enterprise Linux Desktop
有没有办法在不重新安装所有东西的情况下将其更改为 RHEL工作站?
Red Hat Enterprise Linux 7 包含对运行 Docker 容器的官方支持,并且 Red Hat 提供了一组官方的 rhel Docker 镜像。这些镜像的一个有趣特性是可以通过主机的 Red Hat Network Subscription 安装软件包,而无需在容器内执行任何配置。
引用https://access.redhat.com/articles/881893#createimage:
“对于当前的 Red Hat Docker 版本,您从 Red Hat 中提取的默认 RHEL 7 Docker 映像将能够利用主机系统提供的 RHEL 7 权利。因此,只要您的 Docker 主机正确订阅并且存储库是启用您需要在容器中获取所需软件(并且可以从 Docker 主机访问 Internet),您应该能够从 RHEL 7 软件存储库安装软件包。”
我担心的是,实现这一目标的机制相当不透明。例如,当使用 rhel7.1 镜像启动一个新容器时,yum install foo甚至可以在不配置 http 代理环境变量的情况下运行。如果不了解这种机制,系统管理员可能会受到主机系统、Docker 守护程序和正在运行的容器之间未知交互的影响。这也表明主机和容器之间的正常隔离在某种程度上受到了损害(尽管是以一种良性的方式)。
重点说一下:这种订阅支持是如何实现的,它是否依赖于 Red Hat 通过订阅网络提供的 Docker 守护程序的自定义构建?
有没有办法确定RHEL7服务器是否通过systemctl(或reboot / shutdown别名)重新启动,或者服务器是否崩溃?Pre-systemd 这很容易用 确定last -x runlevel,但用 RHEL7 就不太清楚了。
我正在处理RHEL 7 中的一个已知 问题,即指定要绑定到的地址的服务将无法正确启动。我发现了许多类似的报告,许多人说它们已通过更新 systemd 得到解决,但我仍然面临这个问题。这会影响我的机器上的所有服务(sshd、sshd、vsftpd、nginx),而不仅仅是绑定到 0.0.0.0。
我找到了各种假设的解决方法,但没有一个对我始终有效。以sshd为例,配置如下:
Port 22
ListenAddress 192.168.242.225
...
Run Code Online (Sandbox Code Playgroud)
这是我单独和组合尝试过的:
来自https://bugzilla.redhat.com/show_bug.cgi?id=1352214#c4(我也尝试sys-subsystem-net-devices-eth1.device过代替,network-online.target但我怀疑这不会等待寻址发生。)
mkdir /etc/systemd/system/sshd.service.d
tee /etc/systemd/system/sshd.service.d/wait.conf << 'EOF'
[Unit]
After=network-online.target
EOF
Run Code Online (Sandbox Code Playgroud)
来自https://bugzilla.redhat.com/show_bug.cgi?id=1352214#c11
mkdir /etc/systemd/system/sshd.service.d
tee /etc/systemd/system/sshd.service.d/wait.conf << 'EOF'
[Unit]
Wants=network-online.target
After=network-online.target
EOF
Run Code Online (Sandbox Code Playgroud)
来自https://bugzilla.redhat.com/show_bug.cgi?id=1438749#c0
systemctl add-wants multi-user.target network.target
Run Code Online (Sandbox Code Playgroud)
从某处
mkdir /etc/systemd/system/sshd.service.requires
ln -s /usr/lib/systemd/system/network-online.target /etc/systemd/system/sshd.service.requires/
Run Code Online (Sandbox Code Playgroud)
无论我尝试什么,我通常都会得到“错误:绑定到 192.168.242.125 上的端口 22 失败:无法分配请求的地址”。有时,一切都完美启动,我猜这归结为时间问题。
运行 Scientific Linux (RHEL) 7.5 并启用网络管理器,所有 IP 地址都是静态的。如果有任何其他细节可能有帮助,请告诉我。这是journalctl启动失败后的输出,在After=network-online.targetsshd 单元文件中。1700线左右开始相关的东西,希望有人遇到这个问题并成功解决!
在 RHEL/CentOS 7 上,我试图为文件创建一个新的 SELinux 安全上下文,以支持我正在编写的新服务。
我已经为我的新服务创建了一个类型强制文件,但我无法创建一个系统将识别为文件类型的新类型。
我正在基于此CentOS 5“构建本地策略模块”文档工作,该文档指示我创建一个 TE 文件,然后使用checkmodule并semodule_package编译它。
如果我只是在我的 TE 文件中写入:
type myservice_spool_t;
Run Code Online (Sandbox Code Playgroud)
然后 TE 编译得很好,但是当我尝试时,semanage fcontext我得到了这个:
$ sudo semanage fcontext -a -t myservice_spool_t "/var/spool/myservice(/.*)?"
ValueError: Type myservice_spool_t is invalid, must be a file or device type
Run Code Online (Sandbox Code Playgroud)
我已经阅读了各种教程,但没有找到一个有效的例子——我所看到的一切都是:
type myservice_spool_t, file_type;但checkmodule说:ERROR 'attribute file_type is not declared'file_type()但checkmodule说: …