Это почти наверняка проблема с разрешениями.Предоставление обычным пользователям любого доступа к необработанным дискам - это дыра в безопасности (пользователь может обойти все права доступа к файлам и читать все, что они хотят на диске), поэтому ни одна ОС не предоставляет доступ к необработанному диску обычным пользователям.
В примерениже disk0
- это мой внутренний жесткий диск, а disk3
- это USB-накопитель.В OS X даже «администраторы» не входят в группу operator
, которая разрешает доступ к жестким дискам в необработанном виде.
pip$ ls -ltr /dev/disk*<br>
brw-r----- 1 root operator 14, 3 Dec 12 10:14 /dev/disk0s3<br>
brw-r----- 1 root operator 14, 2 Dec 12 10:14 /dev/disk0s2<br>
brw-r----- 1 root operator 14, 1 Dec 12 10:14 /dev/disk0s1<br>
brw-r----- 1 root operator 14, 0 Dec 12 10:14 /dev/disk0<br>
br--r----- 1 root operator 14, 4 Dec 14 15:15 /dev/disk1<br>
brw-r----- 1 root operator 14, 7 Dec 14 15:15 /dev/disk2s2<br>
br--r----- 1 root operator 14, 6 Dec 14 15:15 /dev/disk2s1<br>
brw-r----- 1 root operator 14, 5 Dec 14 15:15 /dev/disk2<br>
brw-r----- 1 pip operator 14, 9 Dec 14 15:18 /dev/disk3s1<br>
brw-r----- 1 pip operator 14, 8 Dec 14 15:18 /dev/disk3
Если вашему приложению действительно нужны необработанные данныедоступ к диску: вам нужно будет запустить его как root с sudo
, добавить себя в группу operator
или использовать API OS X для повышения привилегий.