Корнем зла является урезанный доступ к /private/etc.
Для начала, вам, стоит проверить свой. Откройте Terminal (это можно сделать через Spotlight) и введите ls -la /private.
$ ls -la /private
total 0
drwxr-xr-x@ 6 root wheel 204 Oct 1 10:20 .
drwxr-xr-x 33 root wheel 1190 Nov 4 15:56 ..
drwxr-xr-x 106 root wheel 3604 Nov 13 18:04 etc
drwxr-xr-x 2 root wheel 68 Aug 23 02:28 tftpboot
drwxrwxrwt 14 root wheel 476 Nov 16 10:55 tmp
drwxr-xr-x 25 root wheel 850 Nov 4 17:02 var
$
Вот так «drwxr-xr-x» и должны выглядеть права на etc. Если они выглядят больше похожими на «drwx-----», то вам к нам.
Для того, чтобы починить права необходимо:
1. залогиниться пользователем с правами администратора
2. получить доступ к пользователю root
3. изменить права доступа на папку /private/etc
1. залогиниться пользователем с правами администратора
С первым пунктом я вам ничем не помогу. Если ваша учетная запись уже имеет права администратора — используйте её. Если нет — найдите своего администратора.
2. получить доступ к пользователю root
Для того, чтобы получить доступ к root запустите приложение «Directory Utility». Я бы рекомендовал открывать его через Spotlight.
После запуска программы кликните на замок и введите пароль своего пользователя чтобы «Directory Utility» позволил вам внести изменения.
Зайдите в меню Edit. Если у вас есть пункт «Enable Root User» начните с него. Если же вместо этого пункта вы видите «Disable Root User», то сразу же выбирайте «Change Root Password...»
Введите пароль и повторите его для контроля. Приличные люди не используют для root тот же пароль, что и для своего обычного пользователя.
3. изменить права доступа на папку /private/etc
Запустите Terminal (это, опять таки, можно сделать через Spotlight).
Введите команду su.
При вводе этой команды система запросит у вас пароль. Надо вести пароль root пользователя. Именно тот, который вы установили на втором шаге, а не ваш обычный пароль.
$ su
Password:
Если вы ввели его верно, то у вас появится приглашение командной строки с решеткой на конце. Что-то вроде:
$ su
Password:
bash-3.2#
Итак, мы всего в одном шаге от успеха. Осталось изменить права доступа и проверить результат. Для изменения прав используйте команду «chmod aug+rx /private/etc». Для проверки результата — ls -la /private
$ su
Password:
bash-3.2# chmod aug+rx /private/etc
bash-3.2# ls -la /private
total 0
drwxr-xr-x@ 6 root wheel 204 Oct 1 10:20 .
drwxr-xr-x 33 root wheel 1190 Nov 4 15:56 ..
drwxr-xr-x 106 root wheel 3604 Nov 13 18:04 etc
drwxr-xr-x 2 root wheel 68 Aug 23 02:28 tftpboot
drwxrwxrwt 14 root wheel 476 Nov 16 11:18 tmp
drwxr-xr-x 25 root wheel 850 Nov 4 17:02 var
bash-3.2#
Наслаждайтесь!
P.S.: Для пользователей, которые испытывали проблемы с timezone, я бы посоветовал еще раз зайти в настройки через SystemPrefernces и отключить/подключить автоматическую настройку.
Комментарии (12)
evg_krsk
16.11.2015 16:24-4У любителей яблок в багтрекер не принято в таких случаях ходить?
maxru
16.11.2015 16:42+2Какой такой багтрекер? о_О
dmitiybuldakov
16.11.2015 18:00Принято, там написано — это новая политика безопасности. Но так как на моем капитане все как и работало та ки продолжило работать, а у других отвалилось, то я решил, что может быть политика и не настолько уж и радикальна.
sl_bug
16.11.2015 17:01+1Зачем это здесь? Проблемы с правами были только при работе с homebrew, но это быстро лечится.
dmitiybuldakov
16.11.2015 17:52Не только. Ребята недавно пообновлялись из стора и словили такое. Причем, у меня-то какраз права не посыпались. Хотя я обновлялся на второй день.
M_Muzafarov
16.11.2015 17:22-1Это что такое надо было сделать, чтобы sudo перестал работать?
А первая помощь для диска в этом случае тоже не помогла? В single-user режиме.
За способ с включением рута спасибо, но для статьи как-то несолидно.dmitiybuldakov
16.11.2015 17:58+1Надо было чтобы програма установки доступ на /private/etc выдала только для рута, а права для других пользователей выдать забыла. В результате sudo не в состоянии получить доступ к файлу sudoers
Видимо такое происходит в режиме полной утановки, хотя точнее я не отследил (ну как-то не до этого было).
Дисковая утилита не помогла.
Может и не солидно, но зато полезно. В инете ребята гуглили, но не нашли как починить, все больше отмазки, по поводу того что новая политика безопасности капитана, де не позволяет пользоваться судо.
SilverTH
16.11.2015 19:42Rootless вообще не должен etc трогать. Если совсем все плохо можно через Single User Mode зайти (зажать Cmd+S при включении, или флаг -s если используете Clover).
Mnemonik
16.11.2015 21:45Че-то какая-то прохладная история — переставил ОС буквально две недели назад (пересобрал fusion drive, поставил более вместительный ssd), ничего не восстанавливал, никаких time machine backup-ов не поднимал, просто поставил все начисто, и у меня права вполне нормальные.
maxru
Подозреваю, что подобное явление у linux-юзеров проблем не вызовет вообще :)
voooz
У osx юзеров тоже таких проблем нет (у тех кто не стал ставить EL Capitan)
maxru
Я имею в виду mac-юзеров, которые в linux тоже могут.