linux中因使用sed -i导致文件软硬链接出现错误

执行
if ! [[ $(getenforce) == "Disabled" ]]; then
sed -i -r '/^[ \t]*SELINUX=/c\SELINUX=disabled' /etc/selinux/config
reboot
fi

直接修改配置文件disabled更改为enforcing后发现不能使用,是否影响到文件,九敏

【以下回答由 GPT 生成】

根据您的描述,您遇到以下问题和需求:

问题1:将SELinux配置文件中的disabled改为enforcing后,无法正常工作。 要解决这个问题,您可以按照以下步骤进行操作:

步骤1:检查SELinux配置文件是否存在 在运行sed命令之前,您需要确保/etc/selinux/config文件存在。您可以使用以下命令进行检查:

ls /etc/selinux/config

如果文件存在,则应该返回/etc/selinux/config。如果文件不存在,请根据您的Linux发行版和SELinux版本检查实际路径。

步骤2:查看SELinux当前状态 在运行sed命令之前,最好检查SELinux的当前状态,确保它不会干扰您的配置更改。您可以使用以下命令查看SELinux的当前状态:

sestatus

如果当前状态为EnforcingPermissive,则需要停用SELinux。否则,如果当前状态为Disabled,您可以继续更改配置文件。

步骤3:使用正确的sed命令修改配置文件 编辑配置文件时,确保使用正确的sed命令语法。在你的例子中,您使用的命令看起来正确。

sed -i -r '/^[ \t]*SELINUX=/c\SELINUX=disabled' /etc/selinux/config

此命令会在/etc/selinux/config文件中查找以SELINUX=开头的行,并将其替换为SELINUX=disabled

步骤4:重新启动系统以应用更改 在保证SELinux配置文件正确更改后,您需要重新启动系统以使更改生效。您可以使用以下命令重新启动系统:

reboot

请注意,重新启动将会中断您的当前会话和应用程序,因此请确保在执行此命令之前保存您的工作。

需求:将SELinux设置为disabled而不是enforcing。 如果您的目标是将SELinux设置为disabled,而不是enforcing,您需要调整sed命令中的替换字符串。以下是您可以使用的修改后的sed命令:

sed -i -r '/^[ \t]*SELINUX=/c\SELINUX=disabled' /etc/selinux/config

使用此命令,它将在配置文件中查找以SELINUX=开头的行,并将其替换为SELINUX=disabled

请注意,在重新启动系统之前,请务必再次确认您的SELinux配置文件中的更改以及SELinux的当前状态。

希望这些步骤能够帮助您解决问题。如果您还有其他问题,请随时提出。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^