Root через adb: Как получить root права в ADB? — Хабр Q&A – Удаление системных приложений на Android без root через ADB

Содержание

Как получить root-права на Adnroid

Быстроman как получить root-права на Android смартфоне. Я буду использовать OnePlus 3 и Android 8.0, но инструкция должна подойти и к другим устройствам.

Предисловие

Все действия вы выполняете на свой страх и риск. При неправильной последовательности, можно потерять данные или превратить телефон в кирпич. Также, важно понимать, что рутованный девайс, кроме некоторых удобств, несет в себе риски безопасности. Будьте внимательны.

Подготовка

Для начала, надо на компьютер установить adb и fastboot. Это утилитки из Android SDK для работы с подключенным по USB телефоном.

Для Windows есть удобный установщик adb, fastboot — https://forum.xda-developers.com/showthread.php?t=2317790

Вот здесь официальные дистрибутивы под все платформы — https://developer.android.com/studio/#downloads

Далее качаем TWRP. Это что-то типа livecd для телефона. Образ некой системы, в которой загрузится телефон, и в ней мы установим приложение Magisk.

TWRP (я брал версию 3.1.0-0-twrp.img) — https://dl.twrp.me/twrp/

Если у вас OnePlus, вот TWRP для них — https://eu.dl.twrp.me/oneplus3/ (надо брать этот twrp если вылетает ошибка dtb not fount)

Magisk — это open source приложение, которое дает рут права на телефон, и позволяет скрывать наличие рута от других приложений, чтобы работал Android Pay. Также, обновления системы, которые прилетают “по воздуху”, не должны сломаться. Лучше использовать Magisk, а не SuperSU.

Magisk — https://github.com/topjohnwu/Magisk/releases

Теперь включим режим разработчика на телефоне. Для этого в настройках, в разделе “О телефоне”, надо несколько раз нажать на “Номер сборки”. После раза 10-го, появится сообщение “Теперь вы разработчик”, и в настройках появится новый пункт “Для разработчиков”.

Разблокировка загрузчика

Разблокировка загрузчика удаляет все данные с телефона и sd-карты

Также, разблокировка загрузчика, без установленного далее Magisk, может сломать Android Pay.

Для разблокировки:

  1. В настройках “Для разработчиков” включаем “Отладка по USB”, “Заводская разблокировка” и “Варианты перезагрузки” Oneplus menuOneplus menu

  2. Загружаемся в fastboot mode. Для этого зажимаем кнопку выключения, выбираем “Перезагрузка” и далее “Загрузчик” Oneplus reboot mode Второй способ — выключить телефон, зажать клавишу громкости вверх и клавишу включения. Через несколько секунд появится fastboot mode Oneplus fastboot mode

  3. Подключаем телефон по USB-кабелю. И проверяем что устройство доступно в системе. Для этого выполняем:

    $ fastboot devices
    fa______d        fastboot
    
    В списке должен быть телефон
  4. ПОСЛЕ ЭТОЙ КОМАНДЫ ТЕЛЕФОН ПЕРЕЗАГРУЗИТСЯ И ВСЕ ДАННЫЕ БУДУТ УДАЛЕНЫ. Делайте бэкапы всех данных до этого шага.

    На телефоне выбираем качелькой громкости Yes, подтверждаем клавишей питания. При загрузке появится меню с выбором режима, выбираем качелькой просто Start и подтверждаем клавишей питания. Телефон долго будет перезагружаться, и загрузится сброшенным в заводское состояние.

Теперь загрузчик разблокирован.

Получение root

  1. Подключаем телефон к компьютеру в режиме передачи файлов MTP
  2. Заливаем на телефон zip-файл Magisk, скачанный выше из github
  3. Загружаемся в TWRP. Для этого перезагружаем телефон в fastboot mode (см. пункт 2 инструкции выше как разблокировать загрузчик) и на компьютере выполняем:
    $ fastboot boot twrp.img
    downloading 'boot.img'...
    OKAY [  0.565s]
    booting...
    OKAY [  0.464s]
    finished. total time: 1.044s
    
    Oneplus TWRP
  4. В TWRP выбираем Install и устанавливаем залитый на телефон zip Magisk. Oneplus TWRP install magisk
  5. После установки TWRP предлагает очистить кэш (wipe). Это не нужно, просто ребутаем
  6. После ребута появляется приложение Magisk Manager. Если этого не произошло, попробуйте взять другую версию TWRP и повторить процесс. Oneplus magisk

Все, теперь с помощью Magisk Manager можно выдавать root-овые права приложениям, которые их запрашивают, а также скрывать от других приложений, что этот девайс рутованный, чтобы не сломать Android pay.

Команды adb для Android пользователей

Если у вас есть смартфон с операционной системой Android и вы часто с ним экспериментируете, что-то настраиваете или перепрошиваете, то, скорее всего, вы уже знакомы с инструментом ADB или (Android Debug Bridge). Это программа для управления смартфоном через компьютер по USB, которая содержит множество полезных команд.

Вы можете просматривать журналы, устанавливать и удалять приложения, управлять устройством и выполнять множество других полезных команд. Из этой статьи вы узнаете как пользоваться ADB в Linux, мы рассмотрим полезные команды ADB для пользователей Android и подробно разберем эту утилиту. Но сначала рассмотрим как установить сам инструмент на компьютер.

Содержание статьи:

Установка ADB в Linux

Программа ADB входит в стандартный набор утилит Android SDK. Вы можете установить эту среду и получите нужную утилиту. Но не всегда хочется тянуть на компьютер целую среду исполнения. Иногда нужна только одна программа. Ее можно очень просто установить отдельно. В Ubuntu для этого можно выполнить команду:

sudo apt install android-tools-adb

Для Red Hat, CentOS команда будет немного отличаться:

sudo yum install android-tools-adb

Если вам нужно установить ADB в Windows, то придется скачать пакет SDK Platform Tools из официального сайта.

Подготовка смартфона

Для того чтобы вы смогли использовать adb вместе со своим смартфоном вам необходимо включить режим отладки по USB. Эта возможность скрыта во всех версиях Android начиная с 4.2. Чтобы стать разработчиком сначала зайдите в «Настройки» -> «О телефоне» и семь раз нажмите на пункте «Номер сборки»:

Затем в главном меню настроек появится пункт «Для разработчиков»:

Тут необходимо поставить галочку напротив раздела «Разрешить отладку по USB»:

Теперь ваш телефон готов к работе с adb. Подключите его по USB к вашему компьютеру и начнем работать.

Полезные команды ADB

Перед тем как мы сможем управлять устройством, необходимо еще кое-что сделать. Команде adb требуется специальная служба для связи с Android необходимо ее запустить. Для этого используйте такую команду:

adb start-server

После завершения работы вы можете отключить службу чтобы она не потребляла лишние ресурсы:

adb kill-server

Теперь можно выполнять adb команды для android.

Список устройств

Первым делом, посмотрим список подключенных устройств к нашему компьютеру. Для этого используется команда devices:

adb devices

Если к системе подключено несколько смартфонов, то по умолчанию действия будут применяться к первому. Но вы можете задать нужное имя устройства с помощью опции -s. Например:

adb -s 0123456789ABCDEF logcat

Также указать имя устройства, к которому необходимо применять команды программы adb можно с помощью переменной ANDROID_SERIAL:

export ANDROID_SERIAL=0123456789ABCDEF

Тогда все команды adb будут применяться к устройству, указанному в этой переменной.

Состояние устройства

С помощью команды get-state вы можете узнать состояние устройства:

adb get-state

Команда вернет одно из значений: device — работает, bootloader — загружается, offline — выключено. С помощью команды status-window можно постоянно отслеживать состояние:

adb status-window

Просмотр журналов

Самое частое действие, которое приходится делать разработчикам и тестировщикам мобильных приложений в поиске ошибок — это просмотр журналов системы и приложений. Для этого применяется команда logcat:

adb logcat

Утилита выводит содержимое логов Android в реальном времени, так что вы сразу увидите все сообщения об ошибках. Также можно записать все в файл:

adb logcat -d > ~/android.log

С помощью опции -c можно очистить все логи на устройстве:

adb logcat -c

Не всегда нужно смотреть полный системный лог, иногда будет достаточно только увидеть сообщения нужной программы.. Для этого просто укажите имя пакета:

adb logcat com android.settings

С помощью опции —log-level можно установить уровень подробности сообщений, доступны такие варианты: V, D, I, W, E, F, S. Для выбора подробности вывода укажите нужную букву через двоеточие после имени приложения:

adb logcat com android.settings:E

Или выведем только ошибки для всей системы целиком:

adb logcat *:E

Передача файлов на устройство

Если вам нужно быстро отправить файл на устройство, для этого можно использовать команду push. Вот ее синтаксис:

$ adb push /адрес/локального/файла /адрес/удаленного/файла

Например, загрузим файл из домашней папки на устройство:

adb push ~/file /sdcard/file

Файл будет мгновенно передан на устройство и вы можете в этом убедиться. Дополнительно можно использовать опцию -p для отображения прогресса, а также опцию -a чтобы сохранить оригинальный timestamp.

Загрузка файла с устройства

Таким же образом вы можете скачать файл с устройства. Синтаксис команды pull:

$ adb push  /адрес/удаленного/файла /адрес/локального/файла

Например, скопируем отправленный файл обратно:

adb pull /sdcard/file ~/file1

Установка приложений

С помощью adb можно напрямую устанавливать приложения. Эта возможность может быть очень удобной для разработчиков. Команде install нужно передать только адрес apk файла:

adb install ~/Momentum_apkpure.com.apk

После этого приложение установлено и готово к работе на вашем устройстве. Если вам нужно обновить приложение до более новой версии, тогда используйте опцию -r. Это очень важно. Иначе получите ошибку:

adb -r install~/Momentum_apkpure.com.apk

Еще доступны опции -s — для установки на флешку и -d — для понижения версии программы.

Удаление приложений

Удалить приложение тоже очень просто. Для этого достаточно передать имя его пакета команде uninstall. Например, удалим браузер Firefox:

adb uninstall org.mozilla.firefox

Резервное копирование

Вы можете создать резервную копию своей прошивки и всех системных файлов Android для того, чтобы ее потом очень просто и быстро восстановить. Для этого используется команда backup. Сначала рассмотрим ее синтаксис:

$ adb backup опции пакеты

Опции указывают какие данные нужно копировать. Каждая опция может иметь приставку no, которая означает, что эти данные копировать не нужно. Рассмотрим основные опции:

  • -apk — сохранять apk файлы для программ, по умолчанию отключено;
  • -obb — сохранять расширения установленные расширения apk файлов в формате obb. По умолчанию отключено;
  • -shared — сохранять данные приложений из SD карты или памяти телефона, отключено;
  • -all — сохранить все установленные приложения;
  • -system — сохранить системные приложения, эти приложения уже входят в список all.

Последний параметр позволяет указать какие приложения нужно сохранять. Если указана опция all, то, естественно, что этот параметр не нужен. Таким образом, команда для резервного копирования системы будет выглядеть вот так:

adb backup -apk -obb -shared -all -f backup.ab

С помощью опции -f мы задаем имя файла архива, он будет сохранен в текущей папке. Если его не задать, то имя по умолчанию будет backup.ab. Вам нужно будет подтвердить создание копии на телефоне, можно ввести пароль для шифрования:

 

Для восстановления из резервной копии используйте команду restore. Ей достаточно передать адрес файла:

adb restore android.ab

Перезагрузка устройства

В утилиты adb есть даже команды для перезагрузки устройства. Можно просто перезагрузить смартфон с помощью команды reboot:

adb reboot

Можно загрузиться в режим recovery:

adb reboot recovery

Или в режим настройки загрузчика:

adb reboot bootloader

Консоль Android

С помощью команды shell вы можете войти в консоль Android и выполнять там необходимые действия. Здесь доступно большинство привычных нам команд linux. Мы подробно рассматривали все доступные команды в статье команды Android Terminal Emulator. Сейчас же поговорим про саму команду shell и приведем несколько примеров. Чтобы войти в консоль наберите:

adb shell

Дальше откроется командная строка adb на Android. Если вам не нужна консоль, а нужно только выполнить команду и вернуть результат, то вы можете передать команду сразу после shell:

adb shell ls /system

Например, с помощью такой команды вы можете сделать снимок экрана:

adb shell screencap -p /sdcard/screenshot.png

А так можно снять экран смартфона на видео:

adb shell screenrecord /sdcard/video.mp4

Выводы

В этой статье мы рассмотрели как пользоваться утилитой adb для управления Android смартфоном, а также основные команды программы adb, которые вы можете применять. Команды adb shell — это те же команды, что вы можете выполнять в терминале Android, поэтому нет смысла их разбирать еще раз. Надеюсь, информация из этой статьи была вам полезной.

Запустить скрипт как root через ADB Oh! Android

Я создал скрипт для монтирования разделов и создания некоторых вещей в моей системе Android. Я сохранил скрипт как install.sh в папке / bin Android.

Я хочу вызвать скрипт из ADB, который сам вызывается из пакетного файла в Windows, но его нужно выполнить с правами root.

Первое, что я попробовал, – это вызвать скрипт, используя

adb shell "su -c sh /bin/script.sh" 

Но он не работает, поскольку он дает мне доступ к оболочке (с правами root), но ничего не выполняется. Я также попытался позвонить

 adb root "sh /bin/script.sh" 

Но я получил следующую ошибку

 adbd cannot run as root in production builds 

Затем я попытался написать

 su -c "command" 

Для всех команд, которым нужен корневой доступ в моем скрипте, но у меня такая же проблема. Когда я запускаю скрипт, я получаю только корневую оболочку и ничего не выполняется.

Если я использую первое решение вручную (например, я вызываю adb shell su, то мой скрипт), он работает. Однако все дело в автоматизации процесса, так что оболочку adb можно вызвать из другого скрипта.

У вас есть представление о том, как я могу это достичь?

Благодаря !

Это работает для меня:

Создайте myscript.bat и поместите в него (обратите внимание на одинарные кавычки вокруг команд, которые будут выполняться в режиме суперпользователя):

 adb shell "su -c 'command1; command2; command3'" 

Затем запустите myscript.bat из оболочки DOS.

Примечание: в этой ситуации не работает символ продолжения строки DOS (^). Другими словами, для меня не работает следующее:

 adb shell "su -c '^ command1; ^ command2; ^ command3'" 

Это приводит к ошибке «Синтаксическая ошибка: неисчерпаемая строка»

Это работает :

 adb shell echo command which needs root privileges \| su 

Если вам необходимо перенаправить:

 adb shell echo 'echo anytext > /data/data/aforbiddenfolder/file' \| su 

Для «копирования» локального файла на путь android, требующий прав root (но alocalfile не должен содержать ' ):

 cat alocalfile | adb shell echo "echo '`cat`' > /data/data/aforbiddenfolder/file" \| su 

Если у вас есть лучший способ (даже для версий su которые не имеют -c ), мне интересно.

Это работает для меня:

 adb shell "su -c ./data/local/tcpdump-arm -s 0 -v -w /data/local/appxpress_dump.pcap" 

Но он не работает, поскольку он дает мне доступ к оболочке (с правами root), но ничего не выполняется.

Откуда вы знаете, что вам предоставлены права root? Я предполагаю, что вы пытаетесь выполнить скрипт на устройстве? Было ли ваше устройство укоренено?

Возможно, вам придется предоставить разрешения на выполнение через chmod в файл.

 chmod ugo=rwx /bin/script.sh 

Похоже, что я использовал очень простую версию su, которая не принимала аргумент -c. Я скопировал другое su, которое действительно сработало. AndyD совершенно прав, хотя, поэтому я принимаю его ответ вместо моего 🙂

Что такое ADB? ADB команды Android + Видео

В данной статье вы узнаете что такое ADB для чего он нужен пользователям, а также как управлять им с помощью команд в Android терминале. Ну что же начнем изучать adb команды android…

 Знакомимся с ADB

ADB (android debug bridge) — это средство отладки, выявления ошибок, удаление не удаляемых приложений, выполнить разблокировку bootloader, прошивки устройств на Android и многого другого. Официальную документацию на английском языке можете прочитать на данном сайте.

Где скачать ADB?

Скачать ADB можно с официального ресурса Android.

Либо воспользоваться специальной программой Adb Run, облегчающая взаимодействие с ADB.

Позаботьтесь чтобы на ПК были установлены драйвера, а на Android включена отладка по USB и компьютер прошел авторизацию.

Также рекомендуем установить на телефон приложение Android Терминал 

Adb команды Android

Команды Adb можно разделить 3 типа, непосредственно для команды Adb и FastBoot (подробно о Fasboot) и Linux команды (Android).


Проверка подключения Android к компьютеру. ADB DEVICES

Чтобы убедиться, что Android подключен к компьютеру необходимо ввести adb команду:

adb devices

Пример как использовать:

attна данном скрине видно что Android подсоединенadb devices

Если у вас не появилось похожее сообщение, то возможно, необходимо проверить, наличие драйверов на ПК, целостность кабеля, работоспособность порта USB.


Подключение Android по WI-FI. ADB Connect

Для того, чтобы подключить Android по WI-FI сети, необходимо получить ip адрес и порт устройства, в этом вам поможет приложение ADB Wireless (необходим Root) которую можно скачать в Google Play

После этого ввести команду adb:

adb connect ip:port

Пример как использовать:

 adb connect 192.168.0.14:5555

Более подробно о том как подключить Android через WI-FI — Отладка по USB по Wi-FI.


Установка приложений на Android. ADB Install

Для того, чтобы установить какое-либо приложение с компьютера на Android, необходимо ввести команду:

adb install

Пример как с помощью команды adb install установить приложение необходимо написать:

adb intsall C:\papka_gde_hranitsya_proga.apk

То есть написать команду adb install путь к приложению и название приложения.


Отправить какой-либо файл на Android. ADB PUSH

Чтобы отправить с компьютера на Android любой файл существует следующая команда:

adb push

Пример, чтобы с помощью команды Adb отправить файл с ПК на Android необходимо написать adb push команду:

adb push C:\papka_gde_hranitsya_file\imja_file /sdcard

То есть написать adb push команду путь к файлу, название файла и место где сохранить данный файл.


Отправить / Принять файл c Android на Компьютер.
ADB PULL

Для того чтобы принять абсолютно любой файл с устройства Android на компьютер существует команда:

adb pull

Для того чтобы с помощью команды Adb принять файл с Android девайса на ваш ПК необходимо написать:

adb pull /sdcard/xxx/Keks_s_Pameloy_Anderson.avi C:\papka_gde_budet_hranitsya_file

То есть написать команду adb pull и путь к файлу который находится на Android, название файла и место где сохранить данный файл на ПК.


Перезагрузка Android. ADB Reboot

Для перезагрузки Android, после каких-либо выполненных операций, либо перезагрузить в специальный режим, существует команда:

adb reboot

Команды перезагрузят Android в нормальный режим (обычная перезагрузка):

adb reboot или adb reboot normal

Команда перезагрузит Android в режим загрузки Bootloader:

adb reboot bootloader

Команда перезагрузит Android в режим Recovery:

adb reboot recovery


Управление Android. ADB SHELL

Перейти в управление Android, после чего можно использовать linux команды ОС Android.

Весь потенциал Android раскрывается после того когда вы переходите в управление Android где доступны многие команды linux.

adb shell


Команды в терминале Android
(Linux команды)


Команда суперпользователь. SU

Суперпользователь или Root. Позволяет выполнять абсолютно все действия, от создания, модифицирования, изменения, до удаления конкретных системных файлов, для этого введите команду:

su

sua

До ввода команды: su пользователь является гостем в системе (многие действия заблокированы) и обозначается в начале терминала знаком доллар $ после ввода команды su становится админом и в терминале обозначается как американский номер#

su

Команда перейти в папку. CD

Для того чтобы перемещаться между разделам и каталогами в Android, существует специальная команда:

cd

Чтобы перейти с раздела /sdcard в раздел /sdcard/xxx/porno/hot_girl

cd /sdcard/xxx/porno/hot_girl 

Для того чтобы вернуться с раздела на каталог выше, либо обратно в /sdcard:
если находимся в каталоге /sdcard/xxx/porno/hot_girl — hot_girl

cd ..

окажемся в каталоге:

/sdcard/xxx/porno/

если необходимо подняться в /sdcard то:

cd ../ ../  (столько раз сколько это необходимо)

Внимание в Android и других Unix системах файлы Primer, либо primer или PrimER абсолютно разные файлы!


Переместить / Переименовать файл либо каталог. MV

Перемещение и переименование файла, каталога (папки) или файла осуществляется только одной командой:

mv

Пример переименовать файл:

mv /sdcard/xxx/hot_porno/Alenka.avi /sdcard/xxx/hot_porno/kruto.avi

Пример переименовать папку:

mv -r /sdcard/xxx/hot_porno /sdcard/xxx/super

Пример как Переместить файл:

mv /sdcard/xxx/hot_porno/Alenka.avi /sdcard/xxx/Alenka.avi

Пример как Переместить папку:

mv -r /sdcard/xxx/hot_porno /sdcard/hot_porno


Просмотреть что внутри каталога. LS

Какие каталоги и файлы содержаться в каталоге где вы находитесь, используют следующую linux команду:

ls

Пример как использовать, узнать какие файлы в папке /sdcard/xxx/hot porno:

 ls /sdcard/xxx/hot_porno/

вы получите в окне следующее сообщение:

Alenka.avi

Pamela.avi

Anderson.avi

Если необходимо увидеть скрытые файлы в папке:

ls -a

Пример как использовать:

ls  -a /sdcard/xxx/hot_porno/

выдаст следующие сообщение:

.Skruty_file_Hot.avi

Alenka.avi

Pamela Anderson.avi

Skrutiy_File.avi


Копировать файл или папку (каталог). CP

Скопировать какой-либо файл или папку и переместить куда-либо:

cp

Пример Скопировать файл:

cp /sdcard/xxx/hot_porno/Alenka.avi /sdcard/xxx/Alenka.avi

Пример Скопировать папку:

cp -r /sdcard/xxx/hot_porno /sdcard/hot_porno


Создать каталог (папку). MKDIR

Для того, чтобы создать где-либо папку, используйте команду:

mkdir

Пример как использовать:

mkdir /sdcrad/android_papka


Удалить каталог (папку) или файл. RM

Если необходимо удалить какой либо файл или папку linux команда:

rm

Пример как удалить файл:

rm /sdcard/xxx/hot_porno/Alenka.avi

Пример как удалить папку:

rm - r /sdcard/xxx/hot_porno


Вывести содержимое файла на экран. CAT

Если перед вами стоит задача вывести на экран содержимое текстового файла:

cat

Пример как использовать:

cat /sdcard/books/Толстой_книга_война_и_мир.txt

и получим:

— Еh bien, mon prince. Genes et Lucques ne sont plus que des apanages, des поместья, de la famille Buonaparte. Non, je vous previens, que si vous ne me dites pas, que nous avons la guerre, si vous vous permettez encore de pallier toutes les infamies, toutes les atrocodes de cet Antichrist (ma parole, j`y crois) — je ne vous connais plus, vous n`etes plus mon ami, vous n`etes plus мой верный раб, comme vous dites.


Показать полный путь. PWD

Для того чтобы понять в каком разделе и каталоге сейчас находитесь:

pwd

Если находимся в каком-либо каталоге и надо узнать полный путь (например находимся в системном разделе, каталог app):

pwd

выдаст сообщение:

/system/app/


Создать пустой файл. TOUCH

Чтобы создать текстовый файл:

touch

Создадим файл 666.txt в каталоге /sdcard:

touch /sdcard/666.txt


Создание резервной копии с раздела и восстановление.
DD IF

dd if

Создания резервной копии на Sd карту

dd if=dev/block/mmcblk0p1 of=sdcard/efs.img

Восстановления раздела с резервной копии с Sd карты

dd if=/sdcard/efs.img of=/dev/block/mmcblk0p1


Просмотр занимаемого места. DU

Для того, чтобы понять сколько занимает что-либо:

du

Пример как использовать:

du systcode

Выставление permission, прав файлам и директориям

Чтобы узнать какие права у файлов и директорий нужно написать такую команду

ls -n

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

И так мы знаем, что существуют пользователи, группы. Теперь поговорим о правах доступа. Для чего этого необходимо? Например у вас есть директория в которой находятся личные файлы. Чтобы вы, владелец, например могли редактировать, просматривать файлы, группа, только видеть данные, файлы, а остальные пользователи которые не входят ни в одну из групп и не являются владельцами, вообще не могли ничего сделать, вот поэтому и необходимы права доступа.

Права на файл могут обозначаться цифрами и буквами:

 ЦифрамиБуквами
Чтение4r
Запись2w
Выполнение1x
 0

Значения прав в цифрах суммируются:

  • полные права (rwx) 7  = 4 + 2 +1
  • чтение и запись (rw-) 6  = 4 + 2 + 0
  • чтение и выполнение (r-x) 5 = 4 + 0 + 1
  • только чтение 4 (r—) = 4 + 0 + 0
  • только запись 2 (-w-) = 0 + 2 + 0
  • права отсутствуют (—) 0 = 0 + 0 + 0
chown и chmod

Для каждого файла и директории назначаются отдельно права для владельца, группы и остальных пользователей.

  ВладелецГруппаОстальные
  ugo
права доступа буквыправа доступа цифры   
rwxrwxrwx777читают, записывают, выполняют все
rwxr-xr-x755читает, записывает, выполняетчитать и запускать
rw-r—r—644чтение и записьтолько чтение
r———400читает только владелец

Изменять права доступа на файл или директорию командой chmod можно как числами, так буквами.

Назначение прав доступа цифрами

Для того, чтобы изменить права файлу или директорию командой chmod используя цифры введите команду:

sudo chmod 755 text.txt

Для директорий необходимо после chmod добавить ключ -R.

Назначение прав доступа буквами

Для новичков изменять права доступа букавами будет слегка сложней, но данные знания пригодятся.

Как вы знаете что есть владелец, группа, остальные пользователи, они обозначаются следующим образом:

uuserВладелец
ggroupПользователи, входящие в группу
oothersОстальные пользователи
aallВсе пользователи

Права доступа можно назначать, убирать или присваивать:

+добавить права
удалить права
=установить права

Установить права на файл «rwxr-xr-x» (755):

sudo chmod u=rwx,g=rx,o=rx text.txt

Добавить права на выполнение владельцу, удалить выполнение для группы, удалить запись и выполнение для остальных:

sudo chmod u+x,g-x,o-wx text.txt

Добавить возможность всем (пользователь, группа. остальных) читать:

sudo chmod a+r text.txt

Для изменения прав доступ директориям необходимо использовать ключ -R:

sudo chmod -R a+r imya_papki

Жесткие и символические ссылки

В Linux в том числе Android существует такое  понятие как ссылки — что на нормальном привычном языке звучит «ярлык». Бывают два типа ссылок это:

  • Жесткие ссылки
  • Символические ссылки или симлинки

В чем различия жестких и символических ссылок?

Жесткие ссылки — создают точную копию или текущий снимок файла или папки. Это очень похоже на копирование, но это все же не копирование.

Символические ссылки — создают ярлык которые указывают точное место файла или папки куда ярлык ссылается. Если файл или папку переместить, символическая ссылка будет битая. Чтобы наглядно понять что такое символическая ссылка — в Windows XP или Windows 7 есть ярлыки программ на рабочем столе, которые ссылаются в папку с программой, а точней exe-шник.

Как создать жесткие и символические ссылки

Жесткие ссылки можно создать командой:

ln

Жесткие ссылки можно создать командой:

ln -s

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *