CityCat4: Я ж говорю, это задача с лестницей и ямой. Вопрос сводится уже к тому, всего лишь, как программа с разрешения пользователя может сделать "chmod" от имени root.
Sam: Короче, перемонтировать уже ничего не надо. Хотя уметь это было бы полезно. Вместо перемонтирования, нужно просто установить правильные права.
PS: если в шелле вручную вбить chmod 666 /dev/ttyS0 и вручную задать скорость порта через stty, то до перезагрузки приложение успешно читает и пишет в порт, проверено.
Там, выходит, вот, что я сегодня узнал.
1. Моя программа запускается от пользователя u0_r55 или типа того. Даже если я делаю Runtime.getRuntime().exec("su"); я всё равно остаюсь под этим пользователем, а не под рутом.
2. Дальше я выяснил, что у порта /dev/ttyS0 права по умолчанию после каждой перезагрузки становятся 600, а владелец root, то есть только root может писать и читать туда.
3. Получается пойти взять лестницу и вылезти из ямы, потому что я не могу из-за под юзера приложения сделать Runtime.getRuntime().exec("chmod 666 /dev/ttyS0"); - это не возымеет эффекта. Поэтому и вопрос - как сделать так, чтобы запускать консольные команды из приложения от имени root?!
Вы тут умничаете, но это не помогает решить проблему. Ну не находится, и что из этого следует? Как получить нужные права? Как туда записать из приложения?
Да, рутовано. Но этого мало. Нужно же этим рутом ещё и как-то воспользоваться? Тот же RootExplorer не может ничего записать пока не нажмёшь там кнопочку mount R/W.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.