Open / dev / rdisk0 выдает ошибку «Операция не разрешена», несмотря на использование sudo - PullRequest
0 голосов
/ 10 октября 2019

В Mac OSX Mojave 10.14.6 следующий простой код больше не работает:

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <string.h>

int main(int argc, char** argv)
{
        int fd = open ("/dev/rdisk0", O_RDONLY);
        if (fd == -1)
        {
                fprintf(stdout, "open(%s) error = %s\n", "/dev/rdisk0", strerror(errno));
                fflush(stdout);
                return 1;
        }

        return 0;
}

Это дает:

open(/dev/rdisk0) error = Operation not permitted

Это происходит даже при запуске исполняемого файла с использованием sudo.

Этот код работал для 10.13 и более ранних версий.

Думая, что это может быть связано с SIP, я дал Терминалу и исполняемому файлу Full Disk Access, но это не помогло.

Есть ли другой способ обойти эту проблему? Как мне открыть /dev/rdisk0 сейчас?

Заранее спасибо

...