Как автоматически вводить льготный период sudo при входе в систему

Зная, что предоставление пользователю льготного периода sudo прямо с того момента, когда он / она войдет в систему, может быть проблемой безопасности, я все же думаю, что это будет выгодный компромисс между безопасностью и удобством использования в моей настройке.

Вопрос в следующем: как это сделать? Насколько я знаю, sudo не предоставляет CLI для него.

Я мог бы каким-то образом отменить введенный пароль gdm на что-то вроде sudo false , но опять же: как получить доступ к предоставленному пользователем паролю в обычном тексте? Должен ли я писать для него специальный модуль pam ?

Или, может быть, лучше погрузиться в детали реализации sudo и как root напрямую манипулировать базой данных timestamp?

2 Solutions collect form web for “Как автоматически вводить льготный период sudo при входе в систему”

Гросс хак, не проверенный на самом деле:

  • Добавьте следующую строку в /etc/pam.d/gdm :

     # Update the sudo ticket; proceed whether this succeeds or fails session [success=ignore new_authtok_reqd=ignore] optional pam_exec.so seteuid /usr/local/sbin/update_sudo_ticket 
  • Содержимое /usr/local/sbin/update_sudo_ticket :

     #!/bin/sh DIR=/var/run/sudo/$PAM_USER if [ -d "$DIR" ]; then touch "$DIR"; else mkdir "$DIR"; fi 

У вас должна быть tty_ticket опция tty_ticket в /etc/sudoers (в противном случае это не имеет никакого смысла: логин Gdm не будет учитываться для того, что вы делаете в виртуальном терминале в своей X-сессии).

Я не гарантирую, что это сработает. Я не гарантирую, что это не приведет к явному явлению безопасности. Используйте на свой риск.

Жиль вдохновил меня на следующее, более простое решение. Убедитесь, что исполняемый файл /etc/mdm/PostLogin/Default в Linux-Mint Mate ( /etc/gdm/PostLogin/Default в Ubuntu) содержит следующую строку:

 touch /var/lib/sudo/$LOGNAME 
  • Файлы, созданные «make», не получают исполняемых разрешений по умолчанию
  • Почему рискованно предоставлять sudo vim доступ к обычным пользователям?
  • Как установить фреймворк на удаленном сервере без привилегий root
  • Файл Sudoers перепутался
  • Как я могу использовать разные принципы kerberos для sudo, чем для system-auth?
  • Я не получаю привилегии, отредактировал / etc / sudoers
  • Sudo - целевая пользовательская среда
  • Обратная связь при вводе паролей без раскрытия длины
  • Переменная окружения не сохраняется для JRE_HOME с sudoers
  • sudo: невозможно разрешить хост "hostname"
  • Можно ли повторно использовать сеанс sudo после выхода из системы?
  • Sudoers: разрешить любую подкоманду для определенного аргумента
  • Interesting Posts

    WordPress high Steal время на Linux Ubuntu 16.04.1

    Проверьте, является ли файл текстовым файлом в bash

    Откройте порт в моем CentOS

    Ping работает только с IP-адресами (не с именами доменов)

    Как преобразовать справочную страницу troff с символами UTF-8 (чешский, если быть точным) в PDF

    Software Source перестает работать при изменении имени выпуска в файле lsb_release

    Почему программированию на C не нужны сценарии компилятора и оболочки?

    Loopback весь полученный трафик на интерфейсе

    Система Gentooo монтирует readonly, не загружается, службы segfault

    День недели {0-7} в crontab имеет 8 вариантов, но у нас есть только 7 дней в неделю

    Получите только файлы, измененные за последние 30 минут, используя sftp get

    Выход находится в консоли, но не является частью stdout или stderr

    "Tail -f | iconv -fsjis "ничего не выводит

    Что вы делаете для сканирования с разрешением 600 dpi при работе с небольшим выходным файлом?

    Каков самый короткий способ выбрать первый доступный порт в определенном диапазоне с помощью Bash?

    Linux и Unix - лучшая ОС в мире.