前几天折腾Parallels Desktop的破解版本时,发现pd仍然会请求更新,所以想到写hosts来屏蔽。
建议使用SwitchHosts
来管理hosts设置。如图,我增加了针对parallels的屏蔽。
然后想到,如何防止Parallels自己解除hosts限制呢。
一番搜索后,发现可以使用不可变标志(immutable flag)
来实现。
具体用法使用man chflags
查询。
用法
不可变标志有系统标志以及用户标志两种,分别是schg
以及uchg
。
启用对hosts的系统不可变标志保护:
sudo chflags schg /etc/hosts
删除对hosts的系统不可变标志保护时,需要查询您的内核安全级别,请使用:
sysctl kern.securelevel
如果返回的结果是0
,则代表可以直接使用以下指令删除(其实就是在标志前加个no)
sudo chflags noschg /etc/hosts
如果返回的结果是1
,则需要使用单用户模式启动电脑,才能执行以下指令。
chflags noschg /etc/hosts
⚠️ 以上的schg
更换成uchg
就是用户不可变标志了。
在单用户模式下启动电脑
其实就是进入恢复模式,使用里面的终端。
可以自行google,下面简单说说进入方法。
苹果芯片的mac
关机后,长按电源键别松手,屏幕会点亮并提示你如果要进入到恢复模式请继续按住电源键。按照操作提示就能进入了。
intel芯片的mac
关机后,按下电源后,按住command + R
不要松手,屏幕点亮后按提示操作即可进入。
其他不带T2安全芯片的mac
请自己Google~
参考资料:https://apple.stackexchange.com/questions/282339/protect-hosts-file