Меню

android установка прав на файлы

Android установка прав на файлы

Во всех Unix-системах (iOS, Mac OSx, Linux) существует механизм управления доступом пользователей к системным папкам и файлам — права доступа и собственности . Сделано это для обеспечения безопасности и повышения надежности работы системы.

Приведем пример.
Пользователь user создал в директории /User какие-либо файлы. Таким образом, он является владельцем этих файлов и может определить права доступа к ним для себя и остальных пользователей. Он может, скажем, полностью закрыть доступ к файлам для остальных пользователей или разрешить просто читать их, запретив любое изменение.

Или допустим, вы скачиваете какое-нибудь приложение из AppStore — например, игру Angry Birds Space. Логично предположить, что доступ этой игры к системным файлам не нужен. Следовательно, iOS с помощью прав доступа и собственности разграничивает деятельность данного приложения.

Основными участниками механизма управления доступом пользователей являются:
Владелец (Owner) — владелец файла/папки, ее создатель
Группа (Group) — группа, к которой принадлежит файл/папка
Все (All) — все остальные пользователи, не являющиеся ни владельцами, ни входящими в группу пользователей

У любого файла в iOS есть владелец — один из пользователей, — в тоже время каждый файл одновременно принадлежит к определенной группе пользователей системы. Каждый пользователь может входить в любое количество групп, и в каждую группу может входить любое количество пользователей системы. Механизм групп применяется для организации совместного доступа нескольких пользователей к определённым ресурсам.

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

Основными правами доступа являются:
• Доступ на чтение (Read) — пользователь может читать/просматривать содержимое файла/папки;
• Доступ на запись (Write) — пользователь может редактировать файл, а папки — создавать, переименовывать, удалять;
• Доступ на выполнение (Execute) — пользователь может запускать файл как программу
Доступ к файлу так же зависит от прав доступа к папке, в которой он находится. Другими словами, чтобы отредактировать какой-либо файл, Вы должны иметь права не только на редактирование файла, но и папки, в которой этот файл лежит .

При модификации пользователем системных файлов права доступа и собственности зачастую «слетают» и выставляются значения по умолчанию. Это приводит к тому, что, например, программа не может запуститься, вылетает или работает некорректно. Поэтому, прежде чем производить какие-либо изменения с системными файлами, нужно запомнить правильные значения прав доступа и собственности и в случае их изменения, вернуть на правильные.

источник

Права доступа (permission) в Android

Одним из интереснейших методов безопасности операционной системы Андроид является система разрешений (permissions), используемых приложениями. Когда OS ANDROID только появилась, её разработчики придумали – выделить все возможные функции, доступ к которым необходим приложению, и позволить пользователю их контролировать. Было это реализовано довольно интересно. Список возможных разрешений создан разработчиками Google и зафиксирован в документации. Он очень гибкий, в нем есть всё, что нужно для обеспечения какого угодно сложного функционала. Вместе с тем он грамотно разграничен.

Например, если программа работает с СМС, то ему можно дать права только на чтение сообщений, или только на их отправку, или только на уведомление о событии, которое связано с СМС. Это разграничение очень хорошо позволяет избегать злоупотребления привилегиями со стороны приложений. Ещё во время создания программы разработчик выделяет все функции, которые потребуются его программе. Этот список прописывается в файле AndroidManifest.xml, который на этапе сборки программы помещается в его APK-файл. Когда пользователь Андроид устройства будет устанавливать очередное приложение, то вышеупомянутый список, заданный его создателем, будет отображаться на экране. И только после того, как пользователь согласится дать все эти права устанавливаемому приложению, оно будет установлено. Считается, что именно на этом этапе большинство пользователей избежит вирусов, заподозрив программу в плохом поведении и отклонив установку.

Читайте также:  настройка входа по ssh ключам

С технической точки зрения, обойти существующий механизм прав доступа приложений к функциональности системы Андроид очень непросто. Так как менеджмент разрешений осуществляется на самом низком уровне ядром Linux, программе обязательно нужны права рут , чтобы повлиять на это. Хорошо формализованная система permissions облегчает реализацию инструментов безопасности сторонними разработчиками. Перспективным направлением является создание программ, которые позволяют пользователям тонко настраивать права доступа каждого отдельного приложения, предотвращая любые утечки информации с устройства.

Права доступа (permission) на папки и файлы в Андроид

Права доступа разделяются на две группы зто:
1.Права доступа к файлам
2.Права доступа к папке (директории)

Права доступа к файлам могут иметь такие атрибуты:
r — право на чтение данных. (read)
w — право на изменение содержимого или запись, но не удаление. (write)
x — право на исполнение файла. (xxxxxx)

Права доступа к папке (директории):
r — право на чтение папки (директории).
w — право на изменение содержимого директории можно создавать и удалять объекты в этой директории.
x — право, которое позволяет вам войти в директорию.

Сами права доступа подразделяются на три категории:
«user» — u владелец файла.
«group» — g член той же группы, к которой принадлежит владелец.
«world» — o все остальные.

Порядок записи прав доступа:
сначала права для владельца — «u»
затем для группы — «g»
и в конце права для всех остальных — «o»

Например: предположим что у вас на работе есть компьютер, вы его владелец, он состоит в локальной сети (группа) а есть пользователи, которые хотят что либо на вашем компьютере сделать. По всем этим категориям задаются права на файлы и папки в виде RWX которые дают какие либо права на выполнение чего либо, если в заданных правах RWX присутствует знак «-» то это означает что право отсутствует.
Например: rwx r— r— означает что владелец файла имеет все права: право на чтение, запись в него и исполнение, а все остальные пользователи только право на чтение.

Помимо буквенных выражений есть числовые выражения:
r — (читать) это 4
w (запись) это 2
x (исполнение) это 1
«» ничего не делать тоесть знак дефиса,
И их сумма означает конечные права
7 (rwx) = 4 + 2 +1 (полные права)
5 (r-x)= 4 + 0 + 1 (чтение и выполнение)
6 (rw-) = 4 + 2 + 0 (чтение и запись)
4 (r—) =4 + 0 + 0 (только чтение)

Часто используемые параметры:
400 (-r———) — владелец будет иметь право чтения, никто кроме него не имеет права выполнять никакие действия.
644 (-rw-r—r—) — все пользователи имеют право чтения, а владелец может редактировать.
660 (-rw-rw—-) — владелец и группа могут читать и редактировать, все остальные не имеют никаких прав.
664 (-rw-rw-r—) — все пользователи имеют право чтения, а владелец и группа могут редактировать.
666 (-rw-rw-rw-) — все пользователи могут читать и редактировать.
700 (-rwx——) — владелец может читать, записывать и запускать на выполнение, у других нет права выполнять никакие действия.
744 (-rwxr—r—) — все пользователи могут читать, а владелец имеет право редактировать и запускать на выполнение.
755 (-rwxr-xr-x) — каждый пользователь может читать и запускать на выполнение, владелец может редактировать.
777 (-rwxrwxrwx) — каждый пользователь может читать, редактировать и запускать на выполнение.
sudo passwd root — пароль суперпользователя root.

Читайте также:  инструкции по настройке рации кенвуд

Здесь представлен онлайн калькулятор , и программа которая может задавать права на файл Root Explorer
Бывает что права состоят из 4х цифр это означает что помимо владельца, группы, остальных есть еще и SUPERUser (Супер Админ)
тогда список будет выглядеть вот так:
«SuperUser» — SuperUser
«user» — u владелец файла
«group» — g член той же группы, к которой принадлежит владелец
«world» — o все остальные

источник

Заметки дядюшки Раджи

Всякая всячина, которую дядюшка Раджа находит в интернете и хочет поделиться с читателями.

Об авторе

Архив блога

  • ►2020 (3)
    • ►февраля (2)
    • ►января (1)
  • ►2019 (12)
    • ►декабря (2)
    • ►октября (2)
    • ►сентября (2)
    • ►августа (1)
    • ►июня (2)
    • ►мая (1)
    • ►марта (1)
    • ►января (1)
  • ►2018 (15)
    • ►декабря (2)
    • ►ноября (1)
    • ►октября (2)
    • ►сентября (1)
    • ►июля (1)
    • ►июня (1)
    • ►мая (2)
    • ►апреля (3)
    • ►февраля (1)
    • ►января (1)
  • ►2017 (20)
    • ►декабря (1)
    • ►ноября (2)
    • ►октября (1)
    • ►сентября (3)
    • ►августа (3)
    • ►июня (1)
    • ►мая (1)
    • ►апреля (1)
    • ►марта (1)
    • ►февраля (4)
    • ►января (2)
  • ►2016 (15)
    • ►декабря (4)
    • ►октября (1)
    • ►августа (1)
    • ►июля (2)
    • ►июня (1)
    • ►апреля (3)
    • ►февраля (1)
    • ►января (2)
  • ►2015 (10)
    • ►декабря (1)
    • ►ноября (2)
    • ►сентября (1)
    • ►августа (2)
    • ►июля (1)
    • ►июня (2)
    • ►апреля (1)
  • ►2014 (16)
    • ►декабря (1)
    • ►ноября (3)
    • ►октября (1)
    • ►сентября (1)
    • ►августа (2)
    • ►июля (2)
    • ►мая (1)
    • ►апреля (1)
    • ►февраля (4)
  • ►2013 (11)
    • ►декабря (2)
    • ►октября (2)
    • ►августа (1)
    • ►июля (1)
    • ►июня (1)
    • ►апреля (1)
    • ►марта (1)
    • ►января (2)
  • ▼2012 (24)
    • ►декабря (1)
    • ►ноября (2)
    • ►октября (1)
    • ►сентября (1)
    • ►июля (1)
    • ►июня (4)
    • ►мая (2)
    • ►апреля (2)
    • ►марта (6)
    • ▼февраля (2)
      • Ручной запуск обновления Adobe Flash Player.
      • Как заменять системные APK-файлы на Android?
    • ►января (2)
  • ►2011 (14)
    • ►декабря (2)
    • ►октября (2)
    • ►сентября (2)
    • ►августа (5)
    • ►июля (2)
    • ►февраля (1)
  • ►2010 (29)
    • ►декабря (1)
    • ►июня (1)
    • ►мая (3)
    • ►апреля (10)
    • ►марта (7)
    • ►февраля (4)
    • ►января (3)
  • ►2009 (38)
    • ►декабря (6)
    • ►ноября (4)
    • ►октября (4)
    • ►сентября (8)
    • ►августа (2)
    • ►июля (2)
    • ►мая (2)
    • ►апреля (1)
    • ►марта (5)
    • ►февраля (2)
    • ►января (2)
  • ►2008 (50)
    • ►декабря (4)
    • ►ноября (6)
    • ►октября (7)
    • ►сентября (15)
    • ►августа (14)
    • ►июля (1)
    • ►июня (2)
    • ►мая (1)

Мой блог смотрят

понедельник, 13 февраля 2012 г.

Как заменять системные APK-файлы на Android?

Это опять я и мои инструкции для чайников и кофейников с картинками.

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

  • Менеджер файлов, который умеет работать с root-правами и разрешениями файлов. Лучше всего подойдет Root Explorer (Вы же его купили, да?)
  • Сам модифицированный файл, который мы хотим положить наместо системного (ссылка в конце статьи).

Для начала нужно найти и сохранить резервную копию заменяемого файла.
Для этого запускаем Root Explorer и переходим в каталог » /system/app » и в списке находим нужный файл.

Читайте также:  как сбросить на заводские настройки на huawei gr5

Теперь используем одну из удобных функций Root Explorer. Сделаем долгий тап по нужному файлу, чтобы вызвать контекстное меню

И щелкаем по пункту «Zip this file«, чтобы сохранить файл в zip-архиве на SD-карте. После архивации получим такое сообщение:

Нажимаем кнопкй «Stay«, чтобы остаться в папке и сделать еще кое-что.

Теперь всё готово для замены файла.
Я уже говорил про права доступа у каждого файла. Чтобы их воссоздать на новом файле, надо сначала посмотреть их у старого. Они представлены рядом символов » rwxrwxrwx «. 1-я триада — права владельца, 2-я — группы владельца, 3-я — всех остальных пользователей. У нашего файла права «rw-r—r—«.

Теперь переходим на SD-карту, находим там модифицированный файл и из его контекстного меню выбираем пункт «Copy«, но не торопимся выбирать сразу папку » /system/app «, потому что мы тут же повредим систему. Вместо этого копируем файл в специальную папку для временных файлов » /data/local/tmp «, чтобы привести файл в вид, который примет система.
Для начала вызовем контекстное меню файла и выберем пункт «Rename» и введем имя файла » SystemUI.apk «. Именно так, потому что в Linux регистр букв в имени имеет значение, т.е. » systemui.apk » и » SystemUI.apk » — это разные файлы.
Далее надо изменить права на файл, потому что сейчас они почти наверняка выставлены неправильно. Для этого опять вызываем контекстное меню файла долгим тапом и выбираем пункт «Permissions«. Для нашего значени «rw-r—r—» флажки надо расставить так:

Нажимаем «OK» и снова вызываем контекстное меню. Теперь надо изменить владельца и группу для этого приложения. Для этого выбираем пункт «Изменить владельца«. Появится окно с информацией о текущем владельце файла.
Тут надо сделать маленькое отступление.
В папке » /system/app » всеми файлами владеет пользователь «root» (uid=0) и группа «root» (gid=0), а в папке » /system/framework » властвует пользователь «system» (gid=1000) и группа «system» (gid=1000).
Исходя из вышесказанного, выставляем нужные значения и нажимаем «OK«.
И в третий раз вызываем контекстное меню для файла и в нем выбираем пункт «Copy» и в диалоге копирования переходим в папку » /system/app «. Теперь смело нажимаем «Paste» и читаем дальше внимательно.
Практически сразу система сообщит, что процесс строки состояния внезапно завершился, и предложит его запустить. Всё попытки будут неудачными. Между появлениями окон надо успеть сделать ряд действий. Перед нажатием кнопки надо вызвать меню выключения аппарата, оно окажется под предупреждением. Теперь надо расположить палец примерно в левой стороне кнопки. Теперь надо очень быстро щелкнуть три раза пальцем, что успеть закрыть предупреждение, выбрать пункт выключения и подтвердить свои намерения.
Теперь ждем выключения телефона, заново его запускаем и наслаждаемся результатом или не наслаждаемся и ищем ошибки.

И обещанный архив с модифицированным файлом. http://radjah.ucoz.ru/rar/systemui.zip (324 килобайт)

Товарищ Sashoooq подсказал более безопасный вариант установки подобных модификаций.После копирования файла в » /data/local/tmp » и изменения прав у него скопировать его в папку » /system/framework » и перезагрузить телефон. В итоге оригинальный файл останется лежать на своём месте, а система будет загружать модифицированный.Такой способ не является безопасным для apk-файлов, которые уже лежат в этой папке. А лежат там очень вайжные для работы и стабильности системы файлы (» framework-res.apk » и некоторые файлы от производителя).

Статься написана специально для форума 4PDA.

источник

Добавить комментарий

Adblock
detector