Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
AndreyR |
18.2.2011, 19:46
Сообщение
#1
|
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 29.1.2011 Пользователь №: 2376 Спасибо сказали: 0 раз(а) Репутация: 0
|
Здравствуйте. Возникла необходимость выполнить в программе на Linux команду fdisk, которая требует админских привилегий. Попытался выполнять ее через sudo, но проблема в том, что вызывая, например, sudo fdisk -l /dev/sda через QProcess, не получается передать sudo пароль. Пытался загружать его вот так:
но получается "unknown error". Подскажите пожалуйста, можно ли выполнить sudo как-нибудь по другому? Есть вариант использовать команды gksudo, kdesudo, но как-то это мудрено, опять таки зависимость от оконной среды, не хочется прибегать к таким мутным вариантам. О |
|
|
|
|
Litkevich Yuriy |
18.2.2011, 20:04
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(AndreyR @ 18.2.2011, 21:46) Link не получается передать sudo пароль лучше, ждать отклика приложения (sudo), т.е. ловить то что оно печатает. Наверняка оно печатает, что-то типа:"enter password:" и только потом ожидает пароля |
|
|
|
|
kwisp |
19.2.2011, 9:56
Сообщение
#3
|
|
астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23
|
AndreyR,
в ман по sudo загляни - там есть ключик -S так вот с ним sudo считывает пароль со стандартного ввода тебе надо сделать примерно так
|
|
|
|
|
AndreyR |
20.2.2011, 20:38
Сообщение
#4
|
|
Новичок Группа: Новичок Сообщений: 7 Регистрация: 29.1.2011 Пользователь №: 2376 Спасибо сказали: 0 раз(а) Репутация: 0
|
kwisp, спасибо. Сработало.
Может кому-то пригодится, я делал вот так: Получается только если запустить bash. Вызов sudo напрямую через QProcess не дает результата никак.
Причина редактирования: теги!
|
|
|
|
|
kwisp |
21.2.2011, 9:55
Сообщение
#5
|
|
астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23
|
Цитата(AndreyR @ 20.2.2011, 20:38) Link Получается только если запустить bash. Вызов sudo напрямую через QProcess не дает результата никак. а если файл скрипта создать? можно даже из программы. и его выполнить напрямую через QProcess правда права на выполнение скрипта не знаю как выставить. но на этом форуме можно поискать. ты ман sudo читал? там есть ещё ключ запускающий sudo в фоне. может пригодиться. вообще надо почитать как именно выполняются процессы. может запуск в фоне или какой нить другой ключ предотвратят лишние действия такие как запуск ещё одной оболочки и проч.... П.С. используй теги - это очень облегчает чтение. |
|
|
|
|
Litkevich Yuriy |
21.2.2011, 11:05
Сообщение
#6
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
можно поискать исходник ksudo (вроде так называется) - оболочка KDE-шная для sudo
|
|
|
|
|
kwisp |
21.2.2011, 11:50
Сообщение
#7
|
|
астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23
|
Цитата(Litkevich Yuriy @ 21.2.2011, 11:05) Link можно поискать исходник ksudo (вроде так называется) - оболочка KDE-шная для sudo или запускать sudo с ключом указывая путь к программе которая спрашивает пароль. askpass у меня она к емаксу прикручена чтоб с cvs по ssh работать вариантов куча. Link |
|
|
|
|
Kagami |
21.2.2011, 13:01
Сообщение
#8
|
|
Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: 9
|
А можно настроить sudo что бы он пароль не спрашивал...
|
|
|
|
|
kwisp |
21.2.2011, 13:10
Сообщение
#9
|
|
астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23
|
Цитата(Kagami @ 21.2.2011, 13:01) Link А можно настроить sudo что бы он пароль не спрашивал... а как? |
|
|
|
|
Disaron |
23.2.2011, 22:04
Сообщение
#10
|
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 19.2.2011 Пользователь №: 2420 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(kwisp @ 21.2.2011, 13:10) Link Цитата(Kagami @ 21.2.2011, 13:01) Link А можно настроить sudo что бы он пароль не спрашивал... а как? Это конечно ужас и неправильно, но можно: в /etc/sudoers |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 23.12.2025, 18:16 |