Для sudo действительно ли возможно считать пароль из брелока для ключей гнома или подобный

От rpm страница справочника:

   --prefix NEWPATH
          For relocatable binary packages, translate all file  paths  that
          start  with  the  installation  prefix in the package relocation
          hint(s) to NEWPATH.

   --relocate OLDPATH=NEWPATH
          For relocatable binary packages, translate all file  paths  that
          start with OLDPATH in the package relocation hint(s) to NEWPATH.
          This option can be used repeatedly if several OLDPATH's  in  the
          package are to be relocated.
3
10.01.2013, 00:01
3 ответа

Существует опция тайм-аута, которой предоставляют sudo.

/etc/sudoers:

Defaults:username timestamp_timeout=time_in_minutes

Если Вы хотите сохранить корневые права, просто запустить Ваш сценарий как корень. Я соглашаюсь, это не оптимально, но это на самом деле, что Вы уже делаете.

Вместо этого я сгруппировал бы весь материал, который может быть сделан без полномочия пользователя root вместе и тех запрашивающих полномочие пользователя root вместе и запустить их в два отдельных раза... Это - то, что обычно делается:

./configure
make
sudo make install

BTW, если Ваш находятся на поле с Xorg, Вы могли бы использовать gksudo вместо sudo. Но снова, прокладывание под землей "sudo" s в сценарии не является хорошей практикой.

2
27.01.2020, 21:14
  • 1
    Это не отвечает на вопрос. Kotte ищет способ сохранить пароль в программном обеспечении брелока для ключей. –  Gilles 'SO- stop being evil' 10.01.2013, 00:03
  • 2
    Хорошо, затем ответ НЕТ. Но sudo и PAM являются программным обеспечением с открытым исходным кодом поэтому, если кто-то хочет записать модуль PAM или изменить sudo таким способом, сделайте так. Но я думаю, что это - неправильное решение истинной проблемы. Он не единственный, чтобы быть в этом случае. Он думал о брелоке для ключей гнома, я просто указал, как ДРУГИЕ занимаются этой проблемой. Период. BTW, он дал некоторый фон для нас для понимания его Настоящей проблемы, которую я пытался решить. Если бы я просто спросил, как я мог использовать корневую учетную запись в качестве моего каждый день учетная запись, разве Вы не попытались бы понять, почему и предотвращают меня, чтобы сделать так? –   10.01.2013, 10:26
  • 3
    Мое предыдущее решение состояло в том, чтобы на самом деле использовать gksudo, но после того, как я изменил дистрибутив на Fedora gksudo больше не было доступно. Я соглашаюсь, лучшее решение состояло бы в том, чтобы собрать в группу вещи, чтобы смочь работать sudo make install. Но система сборки, я продолжаю работать, довольно сложна и существует группа людей, уже использующая ее, таким образом, переписыванием не является действительно выполнимый ATM. Но способность сохранить пароль с помощью некоторого брелока для ключей походила на "достаточно хорошее" решение меня. Знание, что sudo является не зная брелоками для ключей, является достаточно хорошим ответом для меня ATM. –  Kotte 10.01.2013, 13:04
  • 4
    я полностью согласен, что переписывание было бы трудным. Я ничего не знаю о Вашей системе сборки, но можно уже попытаться собрать некоторые числа вокруг этого. Например, сколько "sudo" s находится там в Ваших сценариях? Простой grep - номер sudo. должен добиться цели. Если у Вас есть сотни из них, Вы могли бы хотеть найти что-то еще. Если существуют juste дюжина из них, необходимо смочь учесть их в течение 1 часа... –   10.01.2013, 15:30
  • 5
    Хм, я должен буду смотреть на него. Если я закончу некоторое время, то я рассмотрю переписывание, но я чувствую, что на мой вопрос ответили :). Спасибо за всю справку! –  Kotte 11.01.2013, 11:57

Что Вы просите выполнимые звуки, объединяясь -A опция sudo и программа gnome-keyring-query.

В основном, если Вы используете опцию -A, вместо того, чтобы читать пароль из stdin, sudo читает пароль из внешней программы, которую можно указать с SUDO_ASKPASS переменная среды.

Эта внешняя программа могла быть gnome-keyring-query, инструмент командной строки для хранения/получения паролей от gnome-keyring. Вот справка gnome-keyring-query:

Usage:
    gnome-keyring-query <mode> <name>
Parameters:
    mode     - either 'get' or 'set' (without quotes)
    name     - a name to identify the key
Notes:
    If mode is 'get', then the password is dumped to stdout.
    If mode is 'set', then the password is read from stdin.

Вот то, как можно продолжить двигаться (я просто попробовал, это работает).

  1. Запрос брелока для ключей гнома установки (Необходимо будет скомпилировать его, если это не упаковывается дистрибутивом-> восходящий URL),
  2. Сохраните свой sudo пароль в брелоке для ключей гнома
  3. Необходимо смочь получить пароль от брелока для ключей с чем-то как: gnome-keyring-query get sudo
  4. Сохраните эту команду как сценарий (например, в/usr/bin/sudo_askpass) и удостоверьтесь, что это - исполняемый файл с chmod
  5. export SUDO_ASKPASS=/usr/bin/sudo_askpass
  6. Использовать sudo -A вместо sudo.

Однако знайте, что, если Вы сохраняете свой пароль в брелоке для ключей и оставляете этот брелок для ключей открытым, любой может считать Ваш sudo пароль очень легко, или использующий это инструментальное средство формирования запросов брелока для ключей гнома, или просто путем запуска морского конька. Так будьте очень осторожны.

4
27.01.2020, 21:14
  • 1
    , Который на самом деле выглядит крутым. Я испытаю его. :) –  Kotte 22.05.2013, 17:51
  • 2
    Если это на самом деле работает, я предлагаю, чтобы Вы отметили это, когда лучший :) –  user48678 08.06.2013, 15:45
  • 3
     dnf предоставляет запросу брелока для ключей гнома Последнюю проверку истечения метаданных: 6 дней, несколько 10:22:06 назад во вторник 16 мая 13:48:15 2017. Ошибка: Никакие Соответствия не нашли –  utopic eexpress 22.05.2017, 19:10

Я использую пароль для предоставления пароля моим командам sudo. Если вы хотите сделать то же самое:

Сохраните следующий скрипт как~/.local/bin/sudo-askpass

#!/bin/bash
pass show hosts/$(whoami)@$(hostname) | head -n1

Псевдоним с sudoпо sudo --askpassв rc-файле оболочки

# bashrc or zshrc
export SUDO_ASKPASS=sudo-askpass
alias sudo='sudo --askpass'

Сохраните пароль с помощьюpass edit hosts/$(whoami)@$(hostname)

0
27.01.2020, 21:14

Теги

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