Use a variável de ambiente do usuário atual no arquivo sudoers

2

Eu quero que alguns dos meus usuários consigam mudar sua senha com o comando sudo, porque no momento em que eles logam, eles são sem senha (conexão de chaves ssh). Meus usuários não têm senha (e isso é desejado), eles não podem sudo nada. No entanto, eu quero que eles sejam capazes de fazer apenas um comando sudo: sudo passwd $USER , para que eles possam escolher uma senha.

Aqui estão as partes interessantes do meu arquivo sudoers:

Defaults!/usr/bin/passwd    env_keep=SUDO_USER

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

Não funciona. Como posso acessar a variável atual do ambiente SUDO_USER no arquivo sudoers?

EDIT: Eu tenho outra restrição importante no meu contexto: não posso definir uma senha fictícia para todos os usuários. Isso significa que eles realmente não podem alterar sua senha sem sudo .

    
por Gui-Don 08.01.2015 / 18:31

1 resposta

1

Você pode escrever um script (digamos /usr/local/bin/change-my-pass.sh ):

#! /bin/sh    
passwd $SUDO_USER

E adicione isso ao sudoers e, em seguida, informe seus usuários (ou dê a eles uma mensagem de boas-vindas instruindo-os) para usar esse script.

    
por 08.01.2015 / 22:04

Tags