Права, и группы пользователей - это один из ключевых моментов в UNIX системах. У любого файла всегда есть определенные права доступа (для владельца, группы и всех) а так же владелец и группа, все эти параметры как правило задаются при создании файла. Такого чтобы их не было - невозможно, они могут играть вторичную роль, или задаваться по умолчанию с правильными атрибутами, но не быть их не может. Права могут быть четырех разных типов - Execute (Выполнить), Write (Записать), Read (Прочесть), None (Нет). Права всегда привязаны к группе, или конкретному пользователю. Есть две основные группы: Группа пользователя создавшего файл (Владельца), и Мир т.е. все не входящие в группу пользователя создавшего файл. В UNIX системах может быть конечно и больше разных вариаций групп, с разными вариацами прав, но сейчас мы говорим с вами только об iPhone где такое не используется. Права на файле обозначают то что с ним могут делать те или иные пользователи, права на папке - примерно тоже самое, но только вместо привычных Прочитать - Запустить файл, Выполнить - Открыть папку, Записать - Создать новый файл. По умолчанию новые файлы в iPhone получают права 644 и группу root:mobile.
[HR="1"][/HR]
Как узнать?
[HR="1"][/HR] Права на данный момент можно узнать двумя способами: через файловый менеджер, или через Терминал.
1. Через файловый менеджер.
За пример возьмем iFile - самая простая на данный момент программа для работы с файловой системой. Сначала находим директорию в которой лежит интересный нам файл, например, я хочу просмотреть права для папки Library
2. Через Терминал.
Локальный ли это терминал (MobileTerminal.app), или работающий через SSH (WinSCP, iPhone Tunnel Suit) - не имеет значения. Выполняем команду:
ls -la
Владелец и группа пишутся по порядку, и так как они и есть... а вот с правами посложнее, первая буква - тип файла (например d - directory, папка) а следующие 3 триады (кластер из 3 обьектов) указывают права. Первая триада - Владелец, вторая - группа, третья - все.
Теперь будем их менять. Для этого все так же заходим в свойства, и находим там что будем редактировать, Владельца, группу, или права.
Сразу объясню насчет параметра "Кешировать" - этот параметр не отображается как стандартный, т.к. призначается только временным файлам образованы в результате действий программы. Файл с такими правами будет удаляться.
1.Через Terminal.app
Для того чтобы назначить права файлу в Терминале необходимо выполнить команду:
chmod XXX YYYY
Где: XXX - права, написанные цифрами (прим. 755) YYYY - полное название файла которому они назначены.
chown XXXX:YYYY ZZZZ
Где: XXXX - Владелец. YYYY - Группа. ZZZZ - полное название файла которому они назначаются.
Это важно!
Выставлять права и владельца необходимо находясь в той же директории где они лежат.
Выставлять Владельца и права для некоторых файлов может только Суперпользователь т.е. только после ввода пароля (для авторизации и получения прав суперпользователя введите команду su и пароль root, по умолчанию - alpine).
После некоторых изменений програмы выставляющие их на самом устройстве могут аварийно завершаться.
После выставления некоторых прав, эфект будет только после перезагрузки.
[HR="1"][/HR]
Какие права?
[HR="1"][/HR]
Очень часто возникает вопрос на каких файлах и где какие права? Сейчас приведем наглядные примеры, и надеюсь из них будет понятно для любого, т.к. в принципе в каждой директории каждая папка принадлежит к одному и тому же типу, а стало быть права и владелец у них одинаковы.
Ответы