7

Я следовал руководству, в котором была эта команда для создания файла launchd.conf в /etc /

sudo echo "some command" > /etc/launchd.conf

Но это не сработало, я получил разрешение после ввода пароля администратора. Казалось, что разрешения для ссылки были неправильными, поэтому я сделал sudo chmod 755 /etc/ Но теперь я не могу загрузить терминал, я получаю сообщение об ошибке The administrator has set your shell to an illegal value

Если бы я попытался sudo команды теперь я получаю

sudo: can't open /private/etc/sudoers: Permission denied
sudo: no valid sudoers sources found, quitting
Process *tramp/sudo root@localhost* exited abnormally with code 1

Вот как выглядит ссылка /etc, как она должна выглядеть и как ее восстановить?

lrwxr-xr-x   1 root           wheel          11 Jul 21  2011 etc -> private/etc

/ частный / и т.д ...

drw-r--r-- 111 root           wheel    3774 Mar 26 02:25 etc

редактировать: я использую Mac OS X 10.7.3

3 ответа3

10

Перезагрузите Mac, удерживая нажатой клавишу command-s когда вы впервые услышите загрузочный сигнал. Продолжайте удерживать его, пока не начнете видеть текст на экране. Система загрузится в однопользовательском режиме с корневой оболочкой.

mount -uw /
chmod a+x private/etc

сделает /etc снова доступным. Введите команду exit в оболочку, и Mac завершит загрузку.

6

Ответ Кайла Джонса определенно сработает, но вы пытались запустить Восстановление прав из Дисковой утилиты? Это может сделать трюк ....

-1

Разрешения и владение /etc и /private/etc кажутся мне правильными; Кстати, вы забыли также проверить /private , который также может иметь неправильные разрешения.

У меня была точно такая же проблема, и в моем случае права доступа к корневой папке были повреждены. Люди упускают из виду то, что / на самом деле является также реальным, нормальным каталогом и точно так же, как каждый каталог, к которому он имеет права доступа и права доступа. Владение должно быть root:wheel и разрешение должны быть 755 (это rwxr-xr-x).

Самый простой способ восстановить оба - запустить Script Editor а затем набрать и запустить этот скрипт:

do shell script "/usr/sbin/chown root:wheel /" with administrator privileges
do shell script "/bin/chmod 755 /" with administrator privileges

Вам будет предложено ввести пароль amdin, а затем на помощь придут chown и chmod . После этого sudo снова работал.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .