Я новичок в разработке OSX, и мне нужна ваша помощь, пожалуйста.
Я пытаюсь создать папку в / private / var / tmp, используя mkdir из моего приложения OSX, написанного на c ++. Я использую XCode 3.2.6 на OSX 10.6. Команда работает хорошо. Папка создается по пути / private / var / tmp.
Вот что я сделал в приложении: mkdir(my_path, 0777);
Но у меня есть проблема в разрешениях папки. Пользователь может изменить папку (сделать другую папку внутри и т. Д.), Но не «все» или «колесо».
Перевод:
Я пытаюсь сделать папку из терминала, я набираю mkdir -m 777 / private / var / tmp /тестовое задание и папка тестовое задание имеет хорошие разрешения:
Перевод:
У меня вопрос, как я могу сделать, чтобы сделать разрешения на запись для папки и из моего приложения OSX.
Спасибо.
В соответствии с SUIS
Функция mkdir () должна создать новый каталог с именем path. Биты прав доступа к файлу нового каталога должны быть инициализированы из режима. Эти биты прав доступа к файлу аргумента режима должны быть изменены маской создания файла процесса.
Причина по умолчанию Umask определено для вашей системы.
Так что вам просто нужно обновить Umask от вашего процесса, прежде чем позвонить MKDIR или позвоните Чаун обновить атрибуты для созданной папки.
Других решений пока нет …