Использовать текущую переменную среды пользователя в файле 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 , либо сообщите своим пользователям (или дайте им приветственное сообщение, инструктирующее их), чтобы использовать этот скрипт.

  • Как безопасно выполнять php-файл как другой пользователь?
  • Могу ли я увеличить мощность sudo в каталогах / файлах distination на оболочке bash?
  • Как ограничить некоторые команды для администратора в Linux (CentOS)
  • Parallels на Mac - больше не может работать в Ubuntu
  • Неправильное разрешение на папку / etc
  • Псевдоним, выполняющий команду с использованием sudo
  • Измените право собственности на файл у пользователя на другого пользователя, который первый пользовательский контроль
  • Разрешить определенным гостям выполнять определенные команды
  • Теперь visudo не будет работать вообще
  • Установите настройки по умолчанию / Глобальные настройки гномов (Gnome 3)
  • тестирование sudo для учетных данных
  • Как запустить скрипт как ограниченный пользователь?
  • Linux и Unix - лучшая ОС в мире.