Права доступа (permission) в Android
Одним из интереснейших методов безопасности операционной системы Андроид является система разрешений (permissions), используемых приложениями. Когда OS ANDROID только появилась, её разработчики придумали – выделить все возможные функции, доступ к которым необходим приложению, и позволить пользователю их контролировать. Было это реализовано довольно интересно. Список возможных разрешений создан разработчиками Google и зафиксирован в документации. Он очень гибкий, в нем есть всё, что нужно для обеспечения какого угодно сложного функционала. Вместе с тем он грамотно разграничен.
Например, если программа работает с СМС, то ему можно дать права только на чтение сообщений, или только на их отправку, или только на уведомление о событии, которое связано с СМС. Это разграничение очень хорошо позволяет избегать злоупотребления привилегиями со стороны приложений. Ещё во время создания программы разработчик выделяет все функции, которые потребуются его программе. Этот список прописывается в файле AndroidManifest.xml, который на этапе сборки программы помещается в его APK-файл. Когда пользователь Андроид устройства будет устанавливать очередное приложение, то вышеупомянутый список, заданный его создателем, будет отображаться на экране. И только после того, как пользователь согласится дать все эти права устанавливаемому приложению, оно будет установлено. Считается, что именно на этом этапе большинство пользователей избежит вирусов, заподозрив программу в плохом поведении и отклонив установку.
С технической точки зрения, обойти существующий механизм прав доступа приложений к функциональности системы Андроид очень непросто. Так как менеджмент разрешений осуществляется на самом низком уровне ядром 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
«—» ничего не делать тоесть знак дефиса, 0
И их сумма означает конечные права
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 все остальные
Источник
Установка прав доступа 777 к файлам и папкам в среде Android
Важно! Изменить права доступа к расположенным во внутренней памяти Android-девайса каталогам и файлам можно, только если на устройстве активированы привилегии Суперпользователя!
Способ 1: Root Explorer
Самый простой путь к решению озвученной в заголовке статьи задачи подразумевает использование одного из файловых менеджеров с рут-доступом. В следующей инструкции продемонстрирована установка прав доступа к расположенным в памяти Android-девайса файлам и папкам по схеме 777 ( rwx-rwx-rwx ) с помощью популярного инструмента указанного типа — Root Explorer.
- Открыв доступную по следующей ссылке страницу приложения в Google Play Маркете, установите его. Затем запустите программу, предоставьте ей привилегии Суперпользователя.
Кроме прочего, с помощью Рут Эксплорера можно выставлять права доступа к нескольким файлам и/или каталогам одновременно, но они должны располагаться в одной директории. Если потребность пакетного изменения списка разрешений на доступ существует, выберите группу объектов, поочередно нажимая на их имена.
Открывшееся окошко дает возможность установить права доступа 777 к выбранному файлу, каталогу или их группе одним из двух путей:
- Поставьте отметки во всех девяти чекбоксах, сведенных в табличку, столбцы которой указывают на операции, а строки — на пользователей и группы, имеющие доступ к выполнению действий или лишенные такового. Выполнив указанное, нажмите «ОК».
Немного подождите завершения переопределения прав доступа к файлу или папке, после чего можно закрывать файловый менеджер – рассматриваемая задача с его помощью решена.
Способ 2: Total Commander
Еще один инструмент, который способен помочь легко решить вопрос предоставления полного доступа к файлу или каталогу из памяти Android-девайса – это Total Commander. Главным преимуществом данного продукта перед вышеописанным Root Explorer является бесплатность.
- Инсталлируйте на девайс и запустите Тотал Коммандер для Андроид. Предоставьте менеджеру файлов рут-права.
Перейдите в директорию, где содержится файл (каталог), число разрешений на доступ к которому вы собираетесь увеличить.
Длительным нажатием на объект вызовите меню применимых к нему операций. Прокрутите перечень опций, откройте «Свойства».
В отобразившемся окне нажмите на надпись «RWX».
Далее установите галочки во всех девяти наличествующих в окне «Изменить разрешения» чекбоксах.
Или переместитесь в поле с цифрами, сотрите наличествующее в нём значение и затем введите 777 .
Завершив выполнение одной из указанных в предыдущем пункте инструкции манипуляций, нажмите «ПРИМЕНИТЬ». Далее, при появлении окошка с запросом «Перемонтировать диск?», разрешите эту операцию, нажав на кнопку «ОК». Подождите буквально секунду, после чего свойства файла или папки окажутся изменёнными.
Помимо этой статьи, на сайте еще 12473 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Источник
Как управлять правами приложений в Android 6.0 Marshmallow
Недавно состоялся официальный релиз операционной системы Android 6.0 Marshmallow. Владельцы устройств линейки Nexus, а также аппаратов программы Android One уже могут попробовать свежую систему. В Android 6.0 Marshmallow появилось много новых функций, включая управление привилегиями приложений. Как разобраться с ними мы решили рассказать в этой статье.
Теперь при установке новых приложений операционная система спрашивает у пользователя, какие привилегии дать программе. Помимо этого, отображаются основные запросы стороннего приложения. Например, при установке браузер попросит такие привилегии, как использование интернета и гео-локационных данных или даже изменение системных настроек. При желании программе вообще можно не давать никаких привилегий. Это актуально, когда пользователь не уверен в добрых намерениях приложения.
Однако программы, которые уже были установлены до обновления на Android 6.0 Marhmallow, уже получили свои привилегии и запросят их только при следующем апдейте через Google Play. Чтобы просмотреть права уже установленных программ нужно следовать простой инструкции:
1. Перейти в меню настроек через верхнюю «шторку» или через меню приложений.
2. Перейти во вкладку «Приложения».
3. Тапнуть на иконку дополнительных настроек в правом верхнем углу.
4. Перейти в раздел «Разрешения приложений».
5. Перед вами список всех возможных прав, которые могут получать приложения. Если перейти в раздел какой-либо привилегии, то вам откроется список всех приложений с тумблерами справа. Включенный тумблер означает, что приложение имеет доступ, например, к SMS, выключенный — не имеет доступа. Тумблеры можно переключать. Таким образом можно отбирать или давать права приложениям. Не хотите, чтобы какая-то программа пользовалась GPS — дерните за переключатель в соответствующем разделе.
Также управление правами приложений в Android 6.0 Marshmallow предполагает отображение программ, которые могут изменять настройки.
В разделе дополнительных настроек приложений есть раздел «Изменение системных настроек». В нем можно узнать, какие приложения имеют доступ к изменению системных параметров, например различные геолокационные сервисы могут изменять точность работы GPS. Помимо этого, доступ к системным настройкам позволяет считывать большинство данных об устройстве. Этот раздел удобен для поиска подозрительных приложений, которые имеют доступ к системным настройкам. Многое вредоносное ПО работает именно с такими привилегиями.
Источник