Как редактировать защищённые файлы Mac OS X?

Основа стабильности любой операционной системы — это ограничение доступа к важным файлам, от которых зависит работа компьютера, или попросту «защита от дурака». В Mac OS X, как во всех остальных *nix-системах, эта защита реализована через права доступа, группы и владельцев объектов. Прочитать обо всём этом вы можете в нашем цикле статей о Терминале Mac OS X, а сегодня речь пойдёт не столько о защите, сколько о способах её преодоления.

Зачем это нужно? Рано или поздно любой пользователь Мака сталкивается с необходимостью что-нибудь отредактировать в настройках системы или отдельных программ. Ну а владельцы хакинтошей сталкиваются с этой необходимостью чуть ли не каждый день. Как же обойти хитрую систему присвоения прав доступа, чтобы что-нибудь поменять в системе исключительно ради благой цели?

Стандартным форматом настроек Mac OS X и программ для неё является PLIST. Это обычный текстовый файл, который по умолчанию откроется в текстовом редакторе TextEdit. Теперь представьте, что вы открыли такой файл, внесли все нужные изменения и теперь хотите сохранить его. Но не тут-то было! Вы увидите вот такую ошибку:

Вариант у вас только один — сохранить файл ещё где-нибудь. Но это очень и очень плохой вариант. Во-первых, вы потом не сможете скопировать этот файл в его исходную папку. Система просто не даст вам перезаписать имеющийся файл (и будет права). Ну а если вы удалите старый файл и только затем скопируете в ту же папку отредактированную копию, то она скопируется, но будут нарушены права доступа. А это грозит вам самыми загадочными и непредсказуемыми глюками.

Именно поэтому мы рассмотрим несколько других вариантов.

1) Редактирование через Терминал

Терминал даёт пользователю возможность выполнять действия от имени корневого администратора. А это означает, что вам будет подвластен каждый файл компьютера. Надеемся, нет смысла предупреждать вас об опасности наличия такой власти ;)

В самом Терминале есть несколько встроенных средств редактирования, например, команды nano и vi. Воспользоваться ими проще простого. Сначала нужно приобрести права root-администратора. Введите команду:

sudo -s

Затем вслепую введите пароль и нажмите Enter.

А теперь достаточно ввести:

nano путь к файлу

Например:

nano /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

Или можно ввести nano и пробел, а потом перетащить редактируемый файл в окно Терминала. Останется нажать Enter. Работа с командой vi осуществляется точно так же.

Но редактировать файл в таком режиме — удовольствие не из приятных. Судите сами: никакого управления мышью тут не предвидится, и даже курсор придётся передвигать с клавиатуры.

Полезный совет: чтобы выйти из nano, закройте Терминал или нажмите на клавиатуре Ctrl+X.

2) Запуск текстового редактора с правами администратора

Второй способ более элегантен. Он позволит вам пользоваться обычными программами Mac OS X для правки текста, но запущенными от имени администратора. В этом случае никаких ошибок с правами доступа не возникнет.

Запустите Терминал, введите sudo -s и пароль. Затем нужно будет ввести громоздкую конструкцию типа:

/Applications/TextEdit.app/Contents/MacOS/TextEdit

Заметьте: через Терминал нужно запускать не саму программу (т.е. файл TextEdit.app), а её бинарник, упрятанный внутри программы, в подпапке Contents/MacOS.

После этого TextEdit отлично сможет работать с любыми файлами, но только до первого закрытия программы.

3) Сторонние специализированные программы

Не можем не порекомендовать текстовый редактор TextMate. Это продвинутая версия TextMate, которая делалась в расчёте на программистов, но будет полезна на каждом Маке (а на хакинтоше тем более). К вашим услугам — наглядное форматирование текста, работа с самыми разными кодировками и главное — поддержка работы с защищёнными файлами без дополнительных махинаций в Терминале.


При сохранении защищённого файла TextMate предложит вам ввести пароль, и без проблем сохранит все изменения.

Впрочем, цена — явно не достоинство TextMate. После окончания 30-дневного триала с вас попросят 39 евро. Разработчики оправдываются, указывая на огромное количество встроенных модулей по обработке разных скриптов и языков программирования:

Только вот зачем они рядовому пользователю? Если же цена вас не отпугивает, то можете скачать TextMate по ссылке ниже:

Скачать пробную версию TextMate v1.5.9 (10,71 МБ)