Как выполнить команду через sudo, Не могу заставить sudo работать |
Здравствуйте, гость ( Вход | Регистрация )
Как выполнить команду через sudo, Не могу заставить sudo работать |
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 |
|
|
|
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 |
Получается только если запустить 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 |
можно поискать исходник ksudo (вроде так называется) - оболочка KDE-шная для sudo или запускать sudo с ключом указывая путь к программе которая спрашивает пароль. askpass у меня она к емаксу прикручена чтоб с cvs по ssh работать вариантов куча. Домашняя страница kde-misc/kdesudo |
|
|
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 |
|
|
|
Disaron |
23.2.2011, 22:04
Сообщение
#10
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 19.2.2011 Пользователь №: 2420 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
Текстовая версия | Сейчас: 22.12.2024, 5:11 |