【问题标题】:How to change kernel security level?如何更改内核安全级别?
【发布时间】:2020-08-25 15:12:18
【问题描述】:

我的 Mac 的 kernel security 级别为 0。然后,我将内核安全级别更改为1

我将其更改为 1:sysctl kern.securelevel=1

我想将其改回0,因为我的hosts 文件上有一个系统不可变标志。

这是代码-sudo chflags schg /etc/hosts

我想取消系统不可变标志,首先将安全级别改回0

我尝试启动到单用户模式。我关闭了计算机,然后在重新启动时按住cmd+S。它显示黑屏和在屏幕上滚动的白色代码,然后进入常规用户选择字段。然后,我输入密码登录,它显示更多的白色代码在屏幕上滚动,然后它让我登录,一切正常。

这和这个有关

https://apple.stackexchange.com/questions/282339/protect-hosts-file

【问题讨论】:

    标签: macos kernel


    【解决方案1】:

    听起来您在进入单用户模式时遇到了问题。通常在开机后按住 command-S 应该可以工作,但作为一种变通方法,您可以将单用户模式指定为引导参数。

    sudo nvram boot-args="-s"
    

    完成后,取消设置参数:

    sudo nvram -d boot-args
    

    如果您使用的是文件库,您仍然需要输入您的用户名和密码来解锁卷,因此不要将需要用户名作为一定有问题的迹象。

    【讨论】:

    • 我试过这个,我得到了以下错误nvram: Error setting variable - 'boot-args': (iokit/common) not permitted
    • 根据这个线程apple.stackexchange.com/questions/256138/…,我也许可以在恢复模式下运行csrutil enable --without kext。之后我可以撤消吗?
    • 嗨!没有使这个答案正确,因为它不能解决这个错误
    • 实际使用csrutil enable --without nvram允许nvram写入
    【解决方案2】:

    sysctl 的设置不会影响您的 /etc/hosts 不变性。什么是两个之一:

    A) 在 MacOS 10.15 之前,“系统完整性保护”(SIP) 为 /etc 中的文件添加了“受限”标志,其中 /etc/hosts 就是其中之一

    B) 在早期的 MacOS 10.15 中 /etc 是根文件系统的一部分,它以只读方式挂载,因此 /etc/hosts 无法修改。此外,上面提到的 SIP 会阻止您重新安装 (mount -o remount,rw /)。这后来发生了变化,/etc 被重定向到 /System/Volumes/Data,但您没有指明您使用的是哪个版本的 MacOS。

    做什么:

    • 尝试 'df /etc/hosts' 查看 /etc 的安装位置。

    • 尝试“ls -lO /etc/hosts”。这将显示一列额外的标志。如果您确实有 schg,它就会在那里(但默认情况下它永远不会打开,所以如果你没有打开它可能不会)。

    • 如果您看到“受限”,则您需要启动到恢复。那是 CMD-R,然后转到 Utilties 菜单,打开一个终端,然后编辑需要编辑的任何内容,或者(只有在你对影响完全没问题时才这样做):

    i) 禁用 SIP 进行文件系统检查(不推荐) ii) 在 /System/Library/Sandbox/rootless.conf 中选择性地启用 /etc/hosts(标记所有文件并导致设置“受限”标志)。

    【讨论】:

    • 这没有回答我的问题,因为它没有回答如何更改安全级别
    • 哦。鉴于解释,我认为这是不必要的。要切换 kern.securelevel,您可以执行 sysctl kern.securelevel=1(以 root 身份),但是一旦设置,您就无法取消设置。因此,如果它已经设置,则有一些启动文件(可能在 /etc 中)将其打开。 grep 安全级别 /etc/* 找到它,然后编辑它(根据上文)以删除该行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-02
    相关资源
    最近更新 更多