mac修改操作权限

文章介绍在macOS Catalina系统中,由于系统分区为只读和可写两部分,导致无法在根目录下进行写操作的问题及解决方案。通过禁用SIP,临时修改根目录权限,并创建软连接指向可写分区,实现Python环境的正常配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  由于要修改Python环境,使用brew安装后,无法创建软连接,提示命令无法操作,需要做一下步骤:

 

在Catalina版的macOS上以root身份登录,发现创建类似/data之类的目录会会提示Read-only file system,这篇文章介绍一下原因和对应方法。

OS版本
liumiaocn:util liumiao$ sw_vers
ProductName:    Mac OS X
ProductVersion:    10.15.2
BuildVersion:    19C57
liumiaocn:util liumiao$ 
1
2
3
4
5
现象
liumiaocn:/ root# id
uid=0(root) gid=0(wheel) groups=0(wheel),1(daemon),2(kmem),3(sys),4(tty),5(operator),8(procview),9(procmod),12(everyone),20(staff),29(certusers),61(localaccounts),80(admin),701(com.apple.sharepoint.group.1),33(_appstore),98(_lpadmin),100(_lpoperator),204(_developer),250(_analyticsusers),395(com.apple.access_ftp),398(com.apple.access_screensharing),399(com.apple.access_ssh),400(com.apple.access_remote_ae)
liumiaocn:/ root# mkdir -p /data
mkdir: /data: Read-only file system
liumiaocn:/ root# 
1
2
3
4
5
原因
根据官方提示,升级至Catalina之后,硬盘会分为两部分:

只读部分
可写部分


With macOS Catalina, you can no longer store files or data in the read-only system volume, nor can you write to the “root” directory ( / ) from the command line, such as with Terminal.

在Catalina版本,使用者无法在只读系统卷进行数据的存储,使用root在通过命令行的方式也无法对/根目录下进行写操作了。

详细可参看:https://support.apple.com/en-us/HT210650

对应方法
首先设定SIP,详细可参看:https://liumiaocn.blog.csdn.net/article/details/104328486

liumiaocn:~ root# csrutil status
System Integrity Protection status: disabled.
liumiaocn:~ root# mkdir -p /data
mkdir: /data: Read-only file system
liumiaocn:~ root#
1
2
3
4
5
可以看到此时仍然无法创建目录,因为/仍然是只读方式, 修改一下/使之具有write的权限可以看到即可进行操作:

liumiaocn:~ root# mount -uw /
liumiaocn:~ root# mkdir -p /data
liumiaocn:~ root# 
1
2
3
注意事项
注意此种方式如果重启,mount设定的/的write属性就会失去

liumiaocn:~ root# ls /data
liumiaocn:~ root# mkdir -p /test
mkdir: /test: Read-only file system
liumiaocn:~ root# csrutil status
System Integrity Protection status: disabled.
liumiaocn:~ root# 
1
2
3
4
5
6
这种情况下可以使用软连接的方式解决这个问题

liumiaocn:/ root# mount -uw /
liumiaocn:/ root# rm -rf /data/
liumiaocn:/ root# mkdir -p /usr/local/data
liumiaocn:/ root# 
1
2
3
4
创建软连接

liumiaocn:/ root# ln -s /usr/local/data /data
liumiaocn:/ root# ls -l /data
lrwxr-xr-x  1 root  admin  15 Feb 15 16:32 /data -> /usr/local/data
liumiaocn:/ root#
1
2
3
4
这样在重启之后就没有问题了,详细可参看如下日志:

liumiaocn:~ root# mkdir /test
mkdir: /test: Read-only file system
liumiaocn:~ root# cd /data
liumiaocn:data root# mkdir test
liumiaocn:data root# ls
test
liumiaocn:data root# 
————————————————
原文链接:https://blog.csdn.net/liumiaocn/article/details/104324664

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值