返回顶部
首页 > 资讯 > 移动开发 >当Mac文件被永久锁定后,如:hosts文件无法修改被锁定且无法解锁
  • 410
分享到

当Mac文件被永久锁定后,如:hosts文件无法修改被锁定且无法解锁

macoslinux运维 2023-09-03 16:09:11 410人浏览 薄情痞子
摘要

1. 解决「hosts文件不能修改编辑的」的历程 1.1 个人遇到的问题 我想要在hosts文件里面加配置,然后我按照平时的操作,直接vim /etc/hosts文件,修改后直接保存,直接爆红"/private/etc/hosts" E2

1. 解决「hosts文件不能修改编辑的」的历程

1.1 个人遇到的问题

我想要在hosts文件里面加配置,然后我按照平时的操作,直接vim /etc/hosts文件,修改后直接保存,直接爆红"/private/etc/hosts" E212: Can't open file for writing 

vim /etc/hosts

如果没有vim,vi也是一样

vi /etc/hosts

图一:

图二:

 OK,应该是需要sudo,然后保存,还是如图二一样。突然发现,readonly,那应该是权限问题

sudo vim /etc/hosts

图三:

 

 1.2 搜索一下,然后跟着,改权限

打开Mac电脑的访达程序,
2、点按电脑快捷键Shift+Command+G或者右键前往文件夹

在弹出的窗口中输入:/private ,点击下边的“前往”;

在打开的private文件夹中,右键单击“etc”文件夹,然后选择显示简介

在etc简介界面,点击最下方的图标,输入登录密码,点击“”按钮;

把名称下边“wheel”和“everyone”的权限改为“读与写”,

打开etc文件夹,右键单击“hosts”文件,也是如上操作,选择“显示简介”;

在hosts简介界面,同样点击最下方的“”图标,输入登录密码,点击“”按钮;(想象中的场景

把名称下的“wheel”和“everyone”的权限改为“读与写”,hosts文件修改问题即可解决。(想象中的场景

想象很美好,现实很打脸,我的右下角,这个小黄🔒,他是个置灰的,我压跟改不了,我直接点权限改成读与写,直接如下图 ,百度了很多,基本上都是没有用的,也改不了

1.3 命令修改权限

这图形界面还是改不了,然后我看到我的这个文件上面有一把锁,那我用命令重新这个文件赋权限或者解锁这个文件,不也一样

所以我的搜索目标变成:怎样给一个的文件赋权限和给文件解锁

Action[加油]

通过强大的搜索引擎,我找到以下资料

解锁由sudo chmod 0400命令造成锁定状态的文件。目标是解锁文件,补充信息是该文件的锁定状态是由sudo chmod 0400命令造成的。

通过搜索查询,了解到「解锁」其实就是对文件的读写权限进行改写,0400是只允许所有者读(所有者都不能写),所以我需要将其权限改为所有者可写,经查询,0755,0777等都可以。

使用 sudo chmod 0755 myfilesudo chmod -R 0755 myfile 进行尝试,但显示操作不被允许

sudo chmod 0755 /etc/hosts

这是一个衍生出来的新问题,针对该问题我的搜索目标是:搞清楚sudo chmod命令不被允许的可能原因

通过搜索查到这样一个问题《chmod/chown on mac not working》,其中有一个回答部分如下:

With certain files you may run into: [sudo] chmod: Operation Not Permitted. This indicates another problem which is down to the OSX/BSD flags system functionality. Any file can have these flags set using the chflags tool, and viewed using ls -lO yourfile (on OSX) ls -lo yourfile (on BSD). The one that causes this particular error is the 'immutable' flag. Which can be unset using (prefixing it with sudo as necessary): chflags nouchg yourfile.

这个回答中指出,当执行[sudo] chmod 相关命令显示不允许操作时,就表明问题可能取决于OSX / BSD 的标志(flags)系统功能。任何文件都可以使用 chflags 工具来设置这些标志(flags),并使用ls -lO yourfile(在OSX上)和ls -lo yourfile(在BSD上)查看,就会发现导致上述特定错误的是 “immutable” 标志。可以使用取消设置(根据需要使用sudo前缀):chflags nouchg yourfile.

sudo chflags nouchg hosts

立即根据回答最后的代码进行尝试,仍然无效。

1.4 无意的发现

有点要发疯了,啊啊啊啊,怎么干啥啥不都行

我就用命令查看了一下,这个文件的信息和权限是什么:ls -lO yourfile

ls -lO /etc/hosts

发现了个奇怪的东西,schg,uchg这是啥东东哦

 突然想起,我之前为了破解pd(Parallels Desktop)好像用了这个命令,破解的链接奉上哈,有需要可以试试,亲测有效

https://github.com/luo345/ParallelsDesktopCrack

1.5 结合之前经验,实际出击

这上面那个命令,不是用这个呢,是不是我要将这个两个都给取消掉呢

chflags nouchg yourfile.有这个命令,那应该也有这个命令吧

chflags noschg yourfile,注意哦,这个两个命令不一样

sudo chflags nouchg /etc/hosts
sudo chflags noschg /etc/hosts

两个命令一用,在查看一下文件权限信息,ls -lO /etc/hosts。

果然没有schg,uchg了,点击这个hosts文件的简介,这个锁也没有了

然后vim 里面去,进行修改,就可以了,如果是其他的也可以举一反三,先查看这个文件属性,如果有其他的锁定标签,也是类似于加no去试试

来源地址:https://blog.csdn.net/luolearn/article/details/130927231

--结束END--

本文标题: 当Mac文件被永久锁定后,如:hosts文件无法修改被锁定且无法解锁

本文链接: https://www.lsjlt.com/news/392438.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作