如何更改内核安全级别?
How to change kernel security level?
我的 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
听起来您在进入单用户模式时遇到了问题。通常在开机后按住 command-S 应该可以,但作为解决方法,您可以将单用户模式指定为引导参数。
sudo nvram boot-args="-s"
完成后,取消设置 arg:
sudo nvram -d boot-args
如果您使用的是文件保管库,您仍然需要输入用户名和密码来解锁卷,所以不要认为需要用户名就意味着一定有问题。
sysctl 的设置不会影响您的 /etc/hosts 不变性。什么是两个之一:
A) Pre MacOS 10.15, "System Integrity Protection" (SIP) 为 /etc 中的文件添加了一个 "restricted" 标志,/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,它就会在那里(但默认情况下它永远不会打开,所以如果你没有打开它可能不会)。
如果看到 "restricted",则需要启动恢复。那是 CMD-R,然后转到 Utilties 菜单,打开一个终端,然后编辑任何需要编辑的内容,或者(只有当你对影响完全没问题时才这样做):
i) 为文件系统检查禁用 SIP(不推荐)
ii) 在 /System/Library/Sandbox/rootless.conf 中有选择地启用 /etc/hosts(标记所有文件并导致设置 "restricted" 标志)。
我的 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
听起来您在进入单用户模式时遇到了问题。通常在开机后按住 command-S 应该可以,但作为解决方法,您可以将单用户模式指定为引导参数。
sudo nvram boot-args="-s"
完成后,取消设置 arg:
sudo nvram -d boot-args
如果您使用的是文件保管库,您仍然需要输入用户名和密码来解锁卷,所以不要认为需要用户名就意味着一定有问题。
sysctl 的设置不会影响您的 /etc/hosts 不变性。什么是两个之一:
A) Pre MacOS 10.15, "System Integrity Protection" (SIP) 为 /etc 中的文件添加了一个 "restricted" 标志,/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,它就会在那里(但默认情况下它永远不会打开,所以如果你没有打开它可能不会)。
如果看到 "restricted",则需要启动恢复。那是 CMD-R,然后转到 Utilties 菜单,打开一个终端,然后编辑任何需要编辑的内容,或者(只有当你对影响完全没问题时才这样做):
i) 为文件系统检查禁用 SIP(不推荐) ii) 在 /System/Library/Sandbox/rootless.conf 中有选择地启用 /etc/hosts(标记所有文件并导致设置 "restricted" 标志)。