2011-12-14 237 views
3

物理驅動器的代碼如下:閱讀在Mac OS X

​​

fd-1物理硬盤驅動器,但它的USB /閃存驅動器工作正常。這是爲什麼發生?

+1

你想完成什麼?打開磁盤進行只讀訪問可能只是達到目的的一種手段 - 您是否可以使用面向對象的Cocoa API來實現您的目標? – Dov 2011-12-14 16:11:28

回答

2

這幾乎肯定是一個權限問題。普通用戶對原始磁盤的任何訪問都是一個安全漏洞(用戶可以規避所有文件權限並在磁盤上讀取任何他們想要的內容),因此沒有操作系統可以爲普通用戶提供原始磁盤訪問。

在下面的示例中,disk0是我的內部硬盤驅動器,disk3是USB閃存驅動器。在OS X中,即使「管理員」也不是operator組的組成部分,它允許原始磁盤訪問固定硬盤。

pip$ ls -ltr /dev/disk*
brw-r----- 1 root operator 14, 3 Dec 12 10:14 /dev/disk0s3
brw-r----- 1 root operator 14, 2 Dec 12 10:14 /dev/disk0s2
brw-r----- 1 root operator 14, 1 Dec 12 10:14 /dev/disk0s1
brw-r----- 1 root operator 14, 0 Dec 12 10:14 /dev/disk0
br--r----- 1 root operator 14, 4 Dec 14 15:15 /dev/disk1
brw-r----- 1 root operator 14, 7 Dec 14 15:15 /dev/disk2s2
br--r----- 1 root operator 14, 6 Dec 14 15:15 /dev/disk2s1
brw-r----- 1 root operator 14, 5 Dec 14 15:15 /dev/disk2
brw-r----- 1 pip operator 14, 9 Dec 14 15:18 /dev/disk3s1
brw-r----- 1 pip operator 14, 8 Dec 14 15:18 /dev/disk3

如果您的應用程序確實需要你要麼需要使用sudo root權限運行它,將自己添加到operator組,或者使用OS X API的權限提升原始磁盤訪問。