Mac自带系统读取NTFS文件系统

将OS X系统下面自带的mouts_ntfs默认加载方式从只读改为读写。

使用root方式进行下面操作(切记明确每一个步骤,知道自己在做什么,否则很容易摧毁系统)。

1. cd /sbin

2 mv mount_ntfs mount_ntfs_origin

3. vi mount_ntfs

添加以下代码:

#!/bin/sh
/sbin/mount_ntfs_orig -o rw,nobrowse "$@"

保存之后,修改以下权限,chmod a+x mount_ntfs。

最后退出root身份。

有其他答案做类似操作时在 -o 参数里加了 nobrowse, 这个是让 GUI 默认不可见, 即 Finder 的左边栏 "设备" 里不出现, 找起来麻烦推出也麻烦, 个人建议不要加</del>
// 2014.05.06 更新, 如果 -o 参数里不加 nobrowse 可能挂载上来的还是只读模式, 这个具体原因还没研究清楚, 如果遇到挂载上去还是只读, 将脚本里 -o rw 改成 -o rw,nobrowse
// 为了方便访问, 可以在 finder 里用 cmd+shift+G 打开跳转, 输 /Volumes 进入所有磁盘目录, 然后在用 cmd+shift+T 将 /Volumes 保存到边栏。

root身份的解决:在OS X10.11.1版本前,可以在shell直接进行root身份。在之后为了安全,apple取消了这一个机制。

为了解释OS X 10.11中引入的Rootless机制,我翻译了Quora用户Eldad Eilam的答案,原文链接见 这里
定义问题
Rootless讨论的前提是假定root账户是OS X(或者其他Unix系统)中对抗恶意程序保护操作系统的最后一道防线。意思是一个应用程序一旦获得了root账户权限,将会获得系统的无限的权限。就可以进行实时修改、修改磁盘、替换任何系统文件等。
目前,许多传统的Unix操作系统中,root账户都是被强密码保护着的。这里的问题在于大部分的OS X系统基本上是单用户系统,也就是不存在单独的root账户密码,root密码就是管理员账户的密码。简单来说,苹果通过以下途径来获取root权限:
authen
大部分用户会毫不犹豫的输入密码,都不会想他们到底授权了什么行为。更重要的是,授权给了什么应用程序。可以说,对于一般的无经验用户,他们没有时间和专业知识来考虑这个问题。他们不会意识到他们一旦输入了密码,请求的进程就会获得root权限。
什么是系统集成保护(System Integrity Protection)?
使用了系统集成保护,苹果决定第三方应用有一些永远不会被允许的事情。从某些层面来讲,这种保护和iOS更像了。第三方应用相比起来更受限制。这就是rootless一词的由来,系统在某种程度上限制了管理员账号的权限。
rootless特性使得某些操作只有苹果的应用可以被许可(通过代码签名来判断)。所以第三方应用即使是运行在root权限中,有一些操作也无法完成。在我的测试中我注意到了以下几点:
1./System文件夹下的所有文件都不能被苹果应用以外的程序修改(例如各种安装器和升级部件)
2.当前的API例如task_for_pid不能在系统进程下被调用了。这意味着以前注入系统进程(Finder、Messages或者系统内核)的程序都不能用了。
3.有意思的是,rootless依然允许已签名的KEXT内核拓展被载入。问题是KEXT可以进行许多无限制的系统及操作。
总结
Rootless机制的目的很明显是改进安全性和可靠性,使得恶意软件以及木马很难渗透进系统。我很确信他将成为许多恶意软件开发者的一个挑战,不过我也很确定人们会发现这一机制很多薄弱的环节。
这个特性对于一些合法的软件有很多副作用。对此,苹果提供了一种方法使得用户可以关闭这个特性,但这需要用户以恢复模式启动(开机按住Command+R)
如果想了解更多,可以参考苹果的WWDC session视频。
更新关闭方法,兼容Beta7:
开机按住Command+R,进入恢复模式,打开terminal,键入:
csrutil disable
回车,重新启动即可。要重新恢复,只需将disable改为enable

猜你喜欢

转载自blog.csdn.net/asdfgggggggg/article/details/51597499