Как сделать файл только для чтения андроид

Обновлено: 07.07.2024

Я недавно рутировал свой Droid X и все вроде отлично работает. Я сделал некоторые изменения, build.prop и когда adb push build.prop /system/ я получаю, я получаю следующую ошибку: failed to copy 'c:\build.prop' to '/system//build.prop': Read-only file system .

Обратите внимание, что этот вопрос не следует путать со случаем, когда код приложения Android не работает с ошибкой файловой системы только для чтения. Это обычно вызывается попыткой записи файла без указания местоположения, т. Е. Попыткой записи в корневой каталог. Этот вопрос касается только изменения самой установки Android на рутированных / разрабатываемых / инженерных устройствах. Есть ли способ сделать это с эмулятором Android ?? Ни одно из этих решений не работает для моего эмулятора.

Не на всех телефонах и версиях Android установлены одинаковые вещи.
Ограничение параметров при перемонтировании было бы наилучшим.

Просто перемонтируйте как rw (чтение / запись):

После внесения изменений перемонтируйте в ro (только для чтения):

Вы можете сделать это на вашем компьютере тоже. Оболочка adb -o rw, remount / system Используйте вместе с adb root или вы получите Отказ в разрешении при нажатии файла. @MikeHenke, похоже, что вы не были пользователем root, когда выполняли его. Так как у меня в любом случае был root, я скопировал файл в / sdcard, а затем использовал (в моем случае) mv hosts /system/etc/hosts

работает для меня и, кажется, самое простое решение.

У меня есть Not running as root. Try "adb root" first. . А потом adbd cannot run as root in production builds . На более новых устройствах это выглядит так, как будто нам также нужно $ adb disable-verity перезагрузить устройство, прежде чем мы сможем его запустить $ adb remount $ adb disable-verity give: disable-verity работает только для сборок userdebug это не работает Not running as root. Try "adb root" first. . Я вошел, adb root а затем снова, adb remount но все еще та же ошибка: Not running as root. Try "adb root" first.

Получил это на форуме Android, где я задавал тот же вопрос. Надеюсь, это поможет кому-то еще.

На эмуляторе терминала на телефоне:

Затем в командной строке cmd выполните adb push

adb shell <command> можно использовать с компьютера (если у вас нет терминала на телефоне)

Хотя я знаю, что вопрос касается реального устройства, в случае, если кто-то попал сюда с похожей проблемой в эмуляторе, с какими-либо инструментами, самыми последними по состоянию на февраль 2017 года, эмулятор должен быть запущен из командной строки с помощью:

Для чего-либо, чтобы быть доступным для записи /system . Без этого флага ни одна комбинация remount или mount не позволит писать /system .

После запуска эмулятора с этим флагом достаточно одного adb remount после, adb root чтобы получить разрешения для отправки /system .

Вот пример командной строки, которую я использую для запуска своего эмулятора:

Значение для -avd флагов происходит от:

моя командная строка становится очень медленной, пока не может продолжить работу с adb root и adb remount после запуска эмулятора с -writable-system, кто-нибудь может помочь?

Я думаю, что самый безопасный способ это перемонтировать / system как read-write, используя:

и когда закончите, перемонтируйте его только для чтения:

это сработало только для меня, как только я удалил «,» из заявления. т.е. "" mount -o remount rw / system ""

На моем Samsung galaxy mini S5570 (после получения рута на мобильном телефоне):

Кулак, как корень, я побежал:

как обычный пользователь:

Предоставление прав root на сенсорном экране

перечислите все точки монтирования, которые у нас есть, и мы можем видеть, в моем случае, что / dev / stl12 был смонтирован в / system как ro (только готово), поэтому нам просто нужно сделать:

Спасибо за этот ответ. По какой-то причине я никогда не смотрел на экран своего телефона, чтобы предоставить права root, и получал отказ в доступе, что бы я ни пытался. говоря «Вы должны указать тип файловой системы с -t.», что это значит? mount -o rw, remount -t ext4 / dev / block / vda / system, -t означает тип файловой системы в моем примере ext4

Попробуйте следующее в командной строке:

Это работает для меня и является самым простым решением.

Вот что сработало для меня. У меня было эмулированное устройство Android 7.1.1 (Nougat).

На терминале я нажал следующую команду. Одна вещь, которую нужно отметить, это флаг -writable-system

На другой вкладке

Все изменения, внесенные вами в содержимое / system, сохранятся после перезапуска.

Я проверил с эмулятором и следующий работал.

  1. перезагрузка adb
  2. корень adb && adb remount && adb push

Как уже упоминалось выше, выполните второй шаг за один выстрел.

Откройте эмулятор терминала на телефоне: тогда

после запуска этого демона

затем только чтение преобразуется в чтение-запись.

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

Я нашел эту статью в Google и подумал, что добавлю шаги, необходимые для Sony Xperia Z (4.2.2).

У Sony есть сторожевой процесс, который обнаруживает, когда вы изменили ro на rw на / и / system (это единственные, которые я пытался изменить) и, возможно, другие.

Ниже было то, что я побежал, чтобы выполнить изменения, которые я пытался достичь. Я вставил их в окно, потому что удаление бита выполнения из / sbin / ric должно быть выполнено быстро, чтобы остановить его перезапуск. (Я пытался stop ric ; это не работает - хотя это работало на предыдущей версии Android на телефоне).

Я изменил файл hosts здесь, так что это место, где вы вносите необходимые изменения в файловую систему. Чтобы оставить вещи такими, какими мы их нашли, сделайте так:

В этот момент RIC должен автоматически перезапустить. (Он перезапустился для меня автоматически.)

Добавим немного больше к ответу Яна Бергстрёма: поскольку Android - это система на основе Linux, а путь в Linux содержит косую черту (../), при использовании команды push используйте «/» для определения пути назначения на устройстве Android.

Например, команда выглядит так: adb push C: \ Users \ admin \ Desktop \ 1.JPG sdcard / pictures /

Обратите внимание, что здесь, обратная косая черта используется для определения пути к исходному файлу, который должен быть передан с компьютера с Windows, а прямая косая черта используется для определения пути назначения, потому что Android - это система на основе Linux. Вам не нужно выступать в роли пользователя root, чтобы использовать эту команду, а также, она отлично работает на производственных устройствах.

Команда ls показывает мне:

Итак, понятно, что каталог "lib" отделен от других каталогов приложений.

команда mount -o rw,remount /mnt/asec не решила проблему «r / o fs», она хочет, чтобы параметр устройства был указан перед параметром каталога.

Команда "df" тоже не помогла, но показывает, что мой /mnt/asec/com.my.app-1 каталог находится в отдельной точке монтирования.

Тогда я смотрю mount и вуаля!

Следующие шаги уже описаны вверх: перемонтировать в RW, нажать и перемонтировать обратно в RO.

недавно я укоренил свой Droid X, и все, кажется, работает отлично. Я внес некоторые изменения в build.prop и когда я делаю adb push build.prop /system/ Я получаю следующую ошибку: failed to copy 'c:build.prop' to '/system//build.prop': Read-only file system .

Не все телефоны и версии android имеют вещи, установленные одинаково.
Лучше всего ограничить возможности при переналадке.

просто перемонтировать как RW (чтение/запись):

Как только вы закончите вносить изменения, переустановите ro (только для чтения):

получил это с форума Android, где я задал тот же вопрос. Надеюсь, это поможет кому-то еще.

на эмуляторе терминала по телефону:

затем в командной строке cmd выполните adb push

работает для меня и кажется самым простым решением.

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

для всего, что можно записать в /system . Без этого флага нет комбинации remount или mount позволит написать /system .

после запуска эмулятора с этим флагом, один adb remount после adb root достаточно, чтобы получить разрешения, чтобы нажать на /system .

вот пример командной строки, которую я использую для запуска моего эмулятора:

значение -avd флаги поставляется из:

Я думаю, что самый безопасный способ-переустановить / system как read-write, используя:

и когда закончите, установите его как только для чтения:

на моем Samsung galaxy mini S5570 (после того, как получил root на мобильном телефоне):

кулаком, как корнем, я побежал:

как обычный пользователь:

предоставить права root на сенсорном экране

перечислите все точки монтирования, которые у нас есть, и мы можем видеть, в моем случае, что /dev / stl12 был установлен на / system как ro( только готовый), поэтому нам просто нужно сделать:

попробуйте следующее в командной строке:

вот что сработало для меня. Я запускал эмулированное устройство Android 7.1.1 (Нуга).

на терминале я нажал следующую команду. Следует отметить, что флаг-writable-system

все изменения, которые вы делаете в содержимом /system, переживут перезапуск.

это работает для меня и является самым простым решением.

открыть эмулятор терминала на телефоне: тогда

после этого демон начал

затем только чтение преобразуется в чтение-запись.

Я нашел эту статью из google и подумал, что добавлю шаги, необходимые для Sony Xperia Z (4.2.2).

У Sony есть сторожевой процесс, который обнаруживает, когда вы изменили ro на rw on /and / system (это единственные, которые я пытался изменить) и, возможно, другие.

ниже было то, что я побежал, чтобы выполнить изменения, которые я пытался достичь. Я вставил их в окно, потому что удаление бита execute из /sbin/ric должно быть сделано быстро, чтобы чтобы остановить его перезапуск. (Я пытался!--2-->; это не работает, хотя он работал на предыдущей версии Андроид на телефоне).

Я изменил файл hosts здесь, так что это место, где вы делаете изменения, необходимые для файловой системы. Чтобы оставить вещи такими, какими мы их нашли, сделайте следующее:

в этот момент ric должен автоматически перезапустить. (Он перезапускается автоматически.)

добавление немного больше к ответу Яна Бергстрема: потому что Android - это система на базе Linux, и путь в Linux содержит косые черты(../ ), используя команду push, используйте "/" для определения пути назначения на устройстве Android.

например, команда идет: ADB push C:\Users\admin\Desktop\1 - . JPG sdcard / картинки/

обратите внимание, что здесь задние косые черты используются для определения исходного пути файла, который будет выталкиваться с ПК с windows, и передние косые черты используются для определите путь назначения, потому что Android - это система на базе Linux. Вам не нужно действовать как root, чтобы использовать эту команду, а также она отлично работает на производственных устройствах.

иногда вы получаете ошибку, потому что место в телефоне не существует. Например, некоторое внешнее хранилище телефона android является /storage/emulated/legacy вместо /storage/emulated/0 .

команда ls показывает мне:

итак, понятно, что каталог " lib " отделен от других каталогов приложений.

mount -o rw,remount /mnt/asec не разрешил проблему "r/o fs", он хочет параметр устройства перед каталогом параметр.

команда"df" также не помогла, но показывает, что мой /mnt/asec/com.my.app-1 каталог находится в отдельной точке монтирования.

тогда я смотрю мимо mount и вуаля!

следующие шаги уже описаны вверх: перемонтировать в RW, нажмите и снова перемонтировать в RO.

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

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

С технической точки зрения, обойти существующий механизм прав доступа приложений к функциональности системы Андроид очень непросто. Так как менеджмент разрешений осуществляется на самом низком уровне ядром 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-- означает что владелец файла имеет все права: право на чтение, запись в него и исполнение, а все остальные пользователи только право на чтение.

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

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

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

Помимо буквенных выражений есть числовые выражения:
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 (только чтение)

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

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

Часто используемые параметры:
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 все остальные

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

Только для флешки

Из этого обзора вы точно будете знать, как снять режим «только для чтения» с флешки

Действительно, мы периодически не замечаем, что некоторые внезапные проблемы имеют некоторые особенности. Подумайте: раз такой режим существует, то наверняка у него есть предназначение, ведь люди пользуются bv иногда. Отсюда назревает вопрос самому себе: может ли он пригодиться? Вот чтобы точно ответить на него, нужно узнать об этой функции, немного подумать, а потом уже решить. Поэтому мы с вами начинаем с некоторой теоретической части.

Итак, режим «только для чтения» предлагает установить ограничение на некоторые действия с флешкой. По сути, возможности с включённой опцией понятны из названия: вы имеете право только просматривать файлы в установленном носителе информации. То есть, нельзя будет ни перенести туда новые, ни удалить уже имеющиеся.

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

Причины появления

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

  1. Наиболее популярной причиной является атака вирусов. Если один из вредоносных кодов пробрался в систему флешки, то не исключено, что он провёл манипуляции с устройством хранения информации и повредил определённые сектора. Существуют специальные вирусы, которые занимаются конкретно этой задачей — установкой ограничения для записи.
  2. Ручную установку всё же никто не отменял. На некоторых флешках имеются переключатели (зачастую с надписью: «HOLD»), также служащие для такой функции.
  3. Аппаратный сбой, возникший после неправильной эксплуатации USB Flash или MicroSD, других карт. А конкретно можно привести один пример: по завершении использования флеш-носителя вы его просто вытаскиваете из входа USB или порта для SD-карт. То есть, игнорирование функции «Безопасное извлечение устройства» является практически прямой дорогой к проблеме блокировки записи.

 Безопасное извлечение устройства

Чтобы правильно извлечь флешку, нужно щелкнуть на соответствующую кнопку

Как его включить?

Итак, если вдруг понадобилось сделать флешку только для чтения, то давайте рассмотрим два способа, которые помогут это совершить:

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

Переключатель на флешке

Включить режим только для чтения на флешке можно с помощью переключателя

Второй способ подключения режима «Только для чтения» — поставить галочку возле соответствующей надписи

Второй способ подключения режима «Только для чтения» — поставить галочку возле соответствующей надписи

Как его убрать?

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

  1. Итак, сначала мы попробуем перенести переключатель, о котором мы говорили в первом пункте предыдущей инструкции, в пассивное положение. Логично просто передвинуть его с уже стоящего места, так как она не работает. Затем попробуйте снова выполнить необходимые операции.
  2. Перейдите в «Мой компьютер», кликните правой кнопкой мыши по иконке подключённой флешки и нажмите на «Свойства». В появившемся окне уберите галочку с пункта «Только для чтения». Нажмите «Применить» или ОК и закройте окно.
  3. Просканируйте устройство антивирусной программой на наличие вредоносных кодов. При необходимости обязательно проведите полное очищение, а затем сделайте повторное сканирование. Только после этого можно попробовать произвести запись данных ещё раз.
  4. Если это не помогло, то воспользуйтесь помощью командной строки, которую необходимо открыть от имени администратора. Обратите внимание, что после ввода каждого кода нужно нажимать клавишу Enter. Введите diskpart, а затем list disk. Появится список устройств, где нужно определить порядковый номер вашей флешки. Если она первая, например, то вводим следующую команду select disk 1 (если ваша флешка вторая, то пишем два и так далее). Затем пишем этот код: attributes disk clear readonly. Этот способ позволяет сбросить атрибут «только чтение» и флешка станет записываться.
  5. Нажмите комбинацию клавиш Windows + R, введите команду gpedit.msc и нажмите клавишу Enter. Так, откроется редактор локальной групповой политики. В левом блоке нужно выбрать вкладку «Конфигурация компьютера», потом «Административные шаблоны», «Система» и «Доступ к съёмным запоминающим устройствам». После того как вы нажали левой кнопкой мыши по последней вкладке, справа появится список, где необходимо будет найти пункт «Съёмные диски: запретить чтение». Если там стоит состояние «включено», то нажмите туда двойным кликом левой кнопкой мыши. Во всплывающем окне нужно будет изменить параметры на «отключить», нажать ОК, закрыть окна.

Пункт съёмные диски

Отключить режим можно также простым изменением параметров

Для флешек Transcend

Заключение

  • Фотографии можно по отдельности открывать и делать снимки экрана. Пусть это будут не оригинальные фотографии или картинки, но зато они будут хотя бы в таком виде целые и невредимые. Всё лучше, чем ничего, как говорится.
  • Видео тоже можно сохранить аналогичным образом. Для этого понадобится установка дополнительного программного обеспечения для захвата видео с экрана компьютера или ноутбука.
  • Если у вас есть документ Word, например, то можете попробовать скопировать его текст и вставить в новый файл на вашем рабочем столе. Если они небольшие, то можно набрать их заново.

Надеемся, что вы смогли решить свою проблему, а также почерпнули дополнительную полезную информацию для себя, которая принесёт пользу в дальнейшем. Не забываем делиться своим мнением, впечатлением, а также личным опытом в комментариях. Расскажите, каким образом вы побороли эту неприятную ситуацию, какой способ помог?

Читайте также: