Wie konfiguriert man sudoers, um die Ausführung des sudo-Befehls unter einer anderen Gruppe und einem anderen Benutzernamen zu ermöglichen?

Wie konfiguriert man sudoers, um die Ausführung des sudo-Befehls unter einer anderen Gruppe und einem anderen Benutzernamen zu ermöglichen?

So konfigurieren Sie , dass die Fehlermeldung sudoersvermieden wird .Sorry, user ****** is not allowed to execute

Hintergrund

Um zu testen, wie ein Python-Skript unter einem weniger privilegierten Benutzer- und Gruppen-Daemon-Konto funktioniert, muss Folgendes ausgeführt werden:

$ sudo -u _denyhosts -g _denyhosts python /usr/local/bin/denyhosts.py 
-c /usr/share/denyhosts/denyhosts.cfg -n --purge --sync --verbose

Das Ergebnis ist:

Sorry, user ****** is not allowed to execute 
'/usr/bin/python /usr/local/bin/denyhosts.py -c /usr/share/denyhosts/denyhosts.cfg 
-n --purge --sync --verbose' as _denyhosts:_denyhosts on ***.***.***.

Es wird vermutet, dass dieser Befehl aufgrund einer zusätzlichen erforderlichen Konfiguration in fehlschlägt sudoers.

$ sudo -l
Matching Defaults entries for *** on this host:
    editor=/usr/bin/nano, env_reset, env_keep+=BLOCKSIZE, env_keep+="COLORFGBG
    COLORTERM", env_keep+=__CF_USER_TEXT_ENCODING, env_keep+="CHARSET LANG
    LANGUAGE LC_ALL LC_COLLATE LC_CTYPE", env_keep+="LC_MESSAGES LC_MONETARY
    LC_NUMERIC LC_TIME", env_keep+="LINES COLUMNS", env_keep+=LSCOLORS,
    env_keep+=SSH_AUTH_SOCK, env_keep+=TZ, env_keep+="DISPLAY XAUTHORIZATION
    XAUTHORITY", env_keep+="EDITOR VISUAL", env_keep+="HOME MAIL"

User *** may run the following commands on this host:
    (ALL) ALL

Habe bereits versucht, die Gruppe durch Ausführen und Einfügen der folgenden Zeile _denyhostshinzuzufügen :sudoerssudo visudo

%_denyhosts    ALL=(ALL) ALL

Speichern und erneut versuchen bringt keine Besserung.

Antwort1

Die Zeile %_denyhosts ALL=(ALL) ALLbedeutet, dass Benutzer in der _denyhostsGruppe jeden Befehl als beliebiger Benutzer ausführen dürfen. Das ist nicht das, was Sie versuchen: Sie müssen dem Benutzer erlauben, Befehle als Benutzer und als Gruppe ******auszuführen . Etwas wie:_denyhosts_denyhosts

****** ALL = (_denyhosts : _denyhosts) ALL

Antwort2

Sie müssen sicherstellen, dass die Benutzer, die diesen Befehl ausführen können sollen, der Gruppe _denyhosts in /etc/group hinzugefügt werden, auch wenn Benutzer in _denyhosts zur sudoers-Datei hinzugefügt wurden.

$ sudo vi /etc/group
*snip*
_denyhosts:x:###:username1,username2,username3

Speichern Sie die „Gruppen“-Datei und versuchen Sie es erneut.

verwandte Informationen