Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Терминальная команда и sudo  (Прочитано 1116 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн drdoz

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Терминальная команда и sudo
« : 17 Февраля 2011, 14:50:16 »
Здравствуйте. У меня есть прога на Qt (язык C++), которая выполняет команду fdisk. Эта команда должна выполняться от рута или через sudo. Запуск программы через терминал не желателен. Поэтому хочу, чтобы программа получала на вход пароль и сама вводила его при выполнении команды. То есть чтобы она выполняла sudo fdisk -l /dev/sda, а потом вводила запрашиваемый пароль и получала результат. Но не понимаю, как это сделать. Потому что с помощью popen можно выполнить одну команду и получить результат, с помощью QProcess (средство Qt) тоже самое, а как умудриться отследить запрос пароля и ввести его - не понимаю. Подскажите пожалуйста.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Терминальная команда и sudo
« Ответ #1 : 17 Февраля 2011, 15:14:01 »
gksu
gksudo
Посмотрите еще
zenity
Может ничего программировать не придется.
« Последнее редактирование: 17 Февраля 2011, 15:15:50 от alexander.pronin »

Оффлайн afon

  • Старожил
  • *
  • Сообщений: 1110
  • Drink Different!
    • Просмотр профиля
Re: Терминальная команда и sudo
« Ответ #2 : 17 Февраля 2011, 16:08:11 »
>>чтобы она выполняла sudo fdisk -l /dev/sda, а потом вводила запрашиваемый пароль и получала результат.
Так не получится.
Чтобы sudo fdisk -l /dev/sda выполнился без ввода пароля, нужно в судоерсах выдать разрешение на выполнение команды fdisk конкретному польбзователю без пароля.
Типа так: vasia localhost = NOPASSWD:/usr/bin/fdisk, типа того
Drink Different, Understand Computer.
Bye.

 

Страница сгенерирована за 0.034 секунд. Запросов: 25.