Реклама
Права, и группы пользователей - это один из ключевых моментов в UNIX системах. У любого файла всегда есть определенные права доступа (для владельца, группы и всех) а так же владелец и группа, все эти параметры как правило задаются при создании файла. Такого чтобы их не было - невозможно, они могут играть вторичную роль, или задаваться по умолчанию с правильными атрибутами, но не быть их не может.
Права могут быть четырех разных типов -
Execute (Выполнить),
Write (Записать),
Read (Прочесть),
None (Нет). Права всегда привязаны к группе, или конкретному пользователю. Есть две основные группы: Группа пользователя создавшего файл (Владельца), и Мир т.е. все не входящие в группу пользователя создавшего файл. В UNIX системах может быть конечно и больше разных вариаций групп, с разными вариацами прав, но сейчас мы говорим с вами только об iPhone где такое не используется. Права на файле обозначают то что с ним могут делать те или иные пользователи, права на папке - примерно тоже самое, но только вместо привычных Прочитать - Запустить файл, Выполнить - Открыть папку, Записать - Создать новый файл.
По умолчанию новые файлы в iPhone получают права 644 и группу root:mobile.
Как узнать?
Права на данный момент можно узнать двумя способами: через файловый менеджер, или через Терминал.
1. Через файловый менеджер.За пример возьмем iFile - самая простая на данный момент программа для работы с файловой системой.
Сначала находим директорию в которой лежит интересный нам файл, например, я хочу просмотреть права для папки Library
[attachment=405]
2. Через Терминал.Локальный ли это терминал (MobileTerminal.app), или работающий через SSH (WinSCP, iPhone Tunnel Suit) - не имеет значения.
Выполняем команду:
ls -la
[attachment=406]
Владелец и группа пишутся по порядку, и так как они и есть... а вот с правами посложнее
Код:drwx - 7 = read, write & execute
-rw- - 6 = read & write
-xr - 5 = read & execute
-r- - 4 = read
--wx - 3 = write & execute
-w- - 2 = write
--x - 1 = execute
--- - 0 = none
---S - -1 = Cache
Как выставить.
Но замете, права в саму систему через терминал вводятся набором цифр:[attachment=407]
Код:7 = read, write & execute
6 = read & write
5 = read & execute
4 = read
3 = write & execute
2 = write
1 = execute
1.Через файловый браузерТеперь будем их менять. Для этого все так же заходим в свойства, и находим там что будем редактировать, Владельца, группу, или права.
[attachment=408][attachment=409]
[attachment=410]
Сразу объясню насчет параметра "Кешировать" - этот параметр не отображается как стандартный, т.к. призначается только временным файлам образованы в результате действий программы. Файл с такими правами будет удаляться.
1.Через Terminal.app[attachment=411]
Для того чтобы назначить права файлу в Терминале необходимо выполнить команду:
Код:chmod XXX YYYY
Где:XXX - права, написанные цифрами (прим. 755)
YYYY - полное название файла которому они назначены.
Код:chown XXXX:YYYY ZZZZ
Где:XXXX - Владелец.
YYYY - Группа.
ZZZZ - полное название файла которому они назначаются.
Это важно!>>>Выставлять права и владельца необходимо находясь в той же директории где они лежат.
>>>Выставлять Владельца и права для некоторых файлов может только Суперпользователь т.е. только после ввода пароля.
>>>После некоторых изменений програмы выставляющие их на самом устройстве могут аварийно завершаться.
>>>После выставления некоторых прав, эфект будет только после перезагрузки.
Какие права?
Очень часто возникает вопрос на каких файлах и где какие права? Сейчас приведем наглядные примеры, и надеюсь из них будет понятно для любого, т.к. в принципе в каждой директории каждая папка принадлежит к одному и тому же типу, а стало быть права и владелец у них одинаковы.
//var/mobile
= /Applications - 755 - mobile:mobile
== /Любое_приложение - 755 - mobile:mobile
=== info.plist - 644 - mobile:mobile
=== icon.png - 644 - mobile:mobile
=== ***.nib - 644 - mobile:mobile
=== Russian.lproj - 755 - mobile:mobile
= /Documents - 755 - mobile:mobile
= /Library - 755 - mobile:mobile
== Wallpaper.jpg - 644 - root:mobile
== SMS - 700 - mobile:mobile
=== SMS.db - 644 -mobile:mobile
== AddressBook - 700 - mobile:mobile
===AddresBook.sqlitedb - 644 - mobile:mobile
===AddresBookImages.sqlitedb - 644 - mobile:mobile
== SBSettings - 777 - root:wheel
== mAdvLock - 777 - root:wheel
= /Media - 750 - mobile:mobile
== /DCIM - 750 - mobile:mobile
== /iTunes_Control - 755 - mobile:mobile
//var/stash
= /Applications.****** - 775 - root:admin
== /AppStore.app - 775 - root:admin
== /Cydia.app - 755 - root:admin
== /SBSettings - 755 - root:wheel
= /Themes.****** - 775 - root:admin
= /Ringtones.****** - 775 - root:admin
== /Alarm.m4r - 664 - root:admin
//var/root/Media
= /Cydia - 755 - root:wheel
== /AutoInstall - 755 - root:wheel
//Library
= /Caches - 777S - root:admin
= /LaunchDeamons - 755 - root:wheel
//System/Library/
= /Fonts/Cache/LockClock.ttf - 644 - root:wheel