Как вызвать полномочия пользователя root из моего пользовательского приложения?

Ubuntu предлагает все это:

  • Это было разработано от начала, чтобы быть благоприятным для новичка Debian; я использовал обоих, и это, конечно, легче, по крайней мере, на поверхности (т.е. основной материал).
  • Это имеет часть крупнейшей коллекции программного обеспечения всех дистрибутивов; это включает целый набор материала разработки (все главные языки программирования, целая сеть набора платформы и много библиотек разработчика и инструментов).
  • Можно даже изменить Настольные среды пожалуйста или тему по умолчанию.
  • Очень большая база пользователей (это - самый популярный дистрибутив за несколько месяцев теперь), и поэтому огромные ресурсы в Вашем распоряжении. Это даже имеет специализированный сайт Exchange Стека.
  • Это официально поддерживает много архитектур ЦП, включая Ваш.

1
12.12.2011, 19:18
1 ответ

Метод 1:

Для выполнения "df-h" управляют как корень:

su -c "df -h"

Это предложит пользователю пароль root.

Метод 2:

С другой стороны, в/etc/sudoers находят эту строку:

базируйтесь ВСЕ = (ВСЕ) ВСЕ

и копируйте его для своего пользователя johnsmith, что Вы хотите дать административные привилегии:

johnsmith ВСЕ = (ВСЕ) ВСЕ

Таким образом, johnsmith сможет выполнить любую команду, требующую корневых прав первым вводом "sudo" перед командой:

sudo df -h

Метод 3:

Можно использовать ssh для выполнения команды на той же машине:

ssh root@localhost "def -h"

выполнит ту же команду в Вашем сервере. Если Вы не хотите быть предложенными пароль, следовать этому учебному руководству для ssh без пароля:

http://linuxproblem.org/art_9.html

Метод 4:

Используйте gksudo (графический sudo):

gksudo "gnome-open %u"

Или, на KDE kdesu:

kdesu <command>
2
27.01.2020, 23:40
  • 1
    1 не будет работать, он сказал, что это - gui приложение. –  Kevin 12.12.2011, 18:54
  • 2
    Это все методы командной строки. Я должен сделать это программно в установке GUI. приложения –  slashmais 12.12.2011, 18:55
  • 3
    GUI могут выполнить команды оболочки. Я добавил Метод 4, который мог быть решением GUI, которое Вы ищете. –  neuron34 12.12.2011, 18:56
  • 4
    Часто, ssh настроен для не разрешения root доступ. И sudo часто поставляется с созданием группы. Достаточно добавить пользователя к группе для получения полномочия использовать sudo без подделки sudoers. –  enzotib 12.12.2011, 19:06
  • 5
    Они, кажется, опции, с которыми я должен работать, если я не отслеживаю через исходный код монстра спагетти gksu/gksudo/kdesu, чтобы видеть, как они делают это. –  slashmais 13.12.2011, 07:06

Теги

Похожие вопросы