Использовать текущую переменную среды пользователя в файле sudoers

Я хочу, чтобы некоторые мои пользователи могли изменять свой пароль с помощью команды sudo, поскольку во время входа в систему они не имеют пароля (соединение ssh-ключей). У моих пользователей нет пароля (и это нужно), они не могут ничего sudo . Тем не менее, я хочу, чтобы они могли выполнять только одну команду sudo passwd $USER : sudo passwd $USER , поэтому они могут выбрать пароль.

Вот интересные части моего файла sudoers:

 Defaults!/usr/bin/passwd env_keep=SUDO_USER %restrictedgroup ALL = NOPASSWD: /usr/bin/passwd $SUDO_USER 

Это не работает. Как я могу получить доступ к текущей переменной среды SUDO_USER в файле sudoers?

EDIT: У меня есть еще один важный контраст в моем контексте: я не могу установить фиктивный пароль для каждого отдельного пользователя. Это означает, что они действительно не могут изменить свой пароль без sudo .

One Solution collect form web for “Использовать текущую переменную среды пользователя в файле sudoers”

Вы можете написать сценарий (скажем /usr/local/bin/change-my-pass.sh ):

 #! /bin/sh passwd $SUDO_USER 

И добавьте это в sudoers , либо сообщите своим пользователям (или дайте им приветственное сообщение, инструктирующее их), чтобы использовать этот скрипт.

  • NOEXEC и RESTRICT в судерах
  • Fedora: Как я могу добавить себя в файл sudoers?
  • Разрешить пользователю видеть, сколько правил iptables загружено, но не фактическое содержимое?
  • Если я нахожу «sudo» в начале одного лайнера, применим ли он к остальным командам?
  • Удалено /etc/pam.d/common
  • Обновлен менеджер обновлений без запроса пароля
  • Автоматизация su login без запроса пароля
  • Как работает sudo?
  • Как редактировать файл sudoers в Fedora?
  • Вызовите sudo от Jenkins
  • Запускать и останавливать команду мониторинга как sudo в течение секунд каждые минуты
  • Interesting Posts

    dd сработает после нескольких часов передачи

    Отключение DMA в Linux по-прежнему поддерживается

    Как очистить домашний каталог для установки с нуля ранее установленного дистрибутива?

    sed first n встречается в результате набора из двух тегов / паттернов

    rsync и смотреть частично переданный видеофайл

    Как определить, требуется ли блочное устройство для очистки кеша

    Как отслеживать исходящие HTTP-запросы на одного пользователя?

    Статическая конфигурация IP больше не сохраняется в CentOS6

    Как написать скрипт, который выполняет определенные команды на терминале?

    Метаданные mdadm: следует ли принимать меры предосторожности для предотвращения перезаписи суперблока?

    Мониторинг активности жесткого диска

    Простейший способ сравнения контрольной суммы md5?

    Что означает «системный вызов», если не реализация на языке программирования?

    Когда требуется «irqbalance» в Linux VM под VMware?

    Перемещение дескрипторов файлов в zsh

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