Форум программистов, компьютерный форум, киберфорум
Debian, Kali Linux, Raspbian
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
Hermod
6 / 6 / 3
Регистрация: 21.05.2017
Сообщений: 60
1

Можно ли подбросить скрипт на micro-sd, который исполнится без предв.настроек?

29.08.2019, 02:17. Просмотров 2986. Ответов 11

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

а) от рута
б) от пользователя (pi)

Если есть то куда или вместо какого? Что если заменить своим скриптом существующий, добавив в него свой код?
0
Лучшие ответы (1)
Marinero
Модератор
Эксперт NIX
2516 / 1896 / 639
Регистрация: 02.03.2015
Сообщений: 6,153
29.08.2019, 11:10 2
Автозапуск
1
Hermod
6 / 6 / 3
Регистрация: 21.05.2017
Сообщений: 60
29.08.2019, 20:43  [ТС] 3
И что я найду?
Все описанные методики требуют настройки либо через GUI или через консоль. Устройств ввода-вывода НЕТ! (клавы, мыши, монитора НЕТ!) Только расбери пи и флешка. Причём на расбери мы можем кинуть только один скрипт и больше ничего (таковы условия). Никаких правок конфигов.

К примеру если кинуть скрипт в /etc/init.d/ то нужно прописать update-rc.d <userscript.sh> defaults. Т.е. надо отредактировать ещё и конфиг какой-то. А поскольку редактировать мы не можем (нет устройств ввода/вывода) - только заменить на образе. Это замена уже 2х файлов - не подходит.

Возможно подменить файл ~/.profile но он как я понимаю не исполнится от рута.

Ещё раз - у нас есть один файл *****.sh и возможность его куда то положить (причём куда угодно, включая системные папки). Больше мы не можем ничего, а хотим чтобы он запускался от рута, ну или запустился хотя бы один раз.

Добавлено через 7 минут
настроить автозапуск через ssh тоже нельзя. условия - подброс одного скрипта на флешку и всё. любое лишнее движение - фейл.

Добавлено через 1 час 8 минут
upd
пользователь pi в raspbian находится в sudoers, no passwd
задача упрощается - можно просто испольнить скрипт от юзера поставив перед каждой коммандой sudo
т.о. эм... достаточно подменить .profile, к примеру.

ща проверю
0
Hermod
6 / 6 / 3
Регистрация: 21.05.2017
Сообщений: 60
30.08.2019, 12:23  [ТС] 4
Лучший ответ Сообщение было отмечено Marinero как решение

Решение

решено заменой файла rc.local
скрипт исполняется от рута, стоит помнить что файлы созданные им принадлежат руту (надо менять пользователя в ряде случаев). также надо учитывать что exit 1 или "зависание" комманды в скрипте приведут к остановке процесса загрузки системы
0
Dmitry
31.08.2019, 01:00
  #5

Не по теме:

а как-же с этим?:

Цитата Сообщение от Hermod Посмотреть сообщение
Причём на расбери мы можем кинуть только один скрипт и больше ничего (таковы условия). Никаких правок конфигов.
rc.local - это уже существующий в системе файл и файл конфига. и раз уж вы его меняете, то это вполне подпадает под термин "правка"...
;)

0
Hermod
6 / 6 / 3
Регистрация: 21.05.2017
Сообщений: 60
01.09.2019, 05:56  [ТС] 6
Цитата Сообщение от Dmitry Посмотреть сообщение
rc.local - это уже существующий в системе файл и файл конфига. и раз уж вы его меняете, то это вполне подпадает под термин "правка"...
Для пользователя это выглядит как Ctrl+C, Ctrl+V. Т.е необходимости заходить в текстовый редактор и что-то набирать нет.
Я рассматриваю с точки зрения удобства для пользователя. В процессе работы исполняется скрипт который уже автоматически правит нужные конфиги, без постороннего вмешательства.
В принципе задача очень простая, сказалось моё незнание процесса загрузки линукс-дистрибутивов. Я даже не знал что сейчас не используется init.d... По-хорошему чтобы тут разобраться основательно надо год день ото дня всё штудировать и изучать. Объем колоссальный....
0
Hermod
6 / 6 / 3
Регистрация: 21.05.2017
Сообщений: 60
01.10.2019, 12:27  [ТС] 7
Задача чуть усложнилась.
Запрещено забрасывать файл на ext4 раздел - доступ только из винды без возможности видеть ext4.
Разрешено подменить один или несколько файлов на /boot разделе (читай редактировать).

Можно подменить какой-то исполняемый файл в разеделе /boot так (любой язык программирования - нужна только одна операция копирования), чтобы он из раздела /boot скопировал подброшенный rc.local в /etc/ ?
0
linuxbergi
0 / 0 / 0
Регистрация: 13.03.2014
Сообщений: 13
05.10.2019, 17:13 8
Ничего не понятно из объяснения. В чём задача? Типа есть SD карта с ОС и нужно добавить скрипт, выполняющийся при автозагрузке?
Засунуть SD в картоприёмник, подмонтировать раздел, если есть rc.local , отредактировать, добавить команд. Если есть драйвер USART можно активировать консоль и из Windows например в Hiperterminal зайти или через USB. Может есть активные сетевые службы, тогда нужно смотреть какие и как их использовать.
0
Hermod
6 / 6 / 3
Регистрация: 21.05.2017
Сообщений: 60
10.10.2019, 00:00  [ТС] 9
Цитата Сообщение от linuxbergi Посмотреть сообщение
Типа есть SD карта с ОС и нужно добавить скрипт, выполняющийся при автозагрузке?
Именно так.
Цитата Сообщение от linuxbergi Посмотреть сообщение
Засунуть SD в картоприёмник, подмонтировать раздел, если есть rc.local , отредактировать, добавить команд.
Подмонтировать невозможно - пользователь под windows.
Редактировать нельзя - пользователь не умеет и не хочет.
Добавить команд нельзя - см. выше.
Можно - ctrl+c, ctrl+v. Больше ничего нельзя

А редактировать и добавлять команды могу только я. Вопрос куда, каких и как.
Цитата Сообщение от linuxbergi Посмотреть сообщение
Если есть драйвер USART можно активировать консоль и из Windows например в Hiperterminal зайти или через USB.
Если, тогда... А если нет? Неоднозначно. Да и пользователь всё напутает.

Может через MBR как-то можно запустить загрузчик в boot разделе?
0
Рыжий Лис
Просто Лис
2840 / 1655 / 674
Регистрация: 17.05.2012
Сообщений: 5,376
Записей в блоге: 9
19.10.2019, 17:21 10
А разве /boot отформатирован не как ext4?
0
Hermod
6 / 6 / 3
Регистрация: 21.05.2017
Сообщений: 60
23.10.2019, 05:59  [ТС] 11
Нет. Как exfat
0
Hermod
6 / 6 / 3
Регистрация: 21.05.2017
Сообщений: 60
31.10.2019, 18:24  [ТС] 12
upd
0
31.10.2019, 18:24
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.