Sudoers und Standardeinstellungen

11

Ich muss einem Benutzer erlauben, passwortloses sudo ohne tty auszuführen.

Ich habe eine Datei /etc/sudoers.d/mit den speziellen Befehlen und Einstellungen, die ich benötige, da ich die sudoersDatei nicht direkt bearbeiten möchte . In dieser Datei habe ich Folgendes:

# My list of commands that the user can run passwordless
myUser ALL=(ALL) NOPASSWD:SETENV: /foo/bar /foo/zaz
# My new defaults.
Defaults exempt_group = myUser
Defaults !env_reset,env_delete-=PATH
Defaults: myUser !requiretty

Wenn ich sujedoch zum Benutzer gehe und es ausführe, sudo -lerhalte ich dies in den Standardeinstellungen:

 Matching Defaults entries for myUseron this host:
    requiretty, !visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION
    LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin, exempt_group=myUser,
    !env_reset, env_delete-=PATH, !requiretty

Wo ich es sehen kann hat es zuerst requirettyund am Ende mein !requiretty, was nicht funktioniert. Ich gehe davon aus, dass dies geschieht, weil zuerst die normale sudoersDatei und dann meine benutzerdefinierte Datei unter analysiert wird /etc/sudoers.d/.

Gibt es eine Möglichkeit, dies zum Laufen zu bringen, ohne das Original zu bearbeiten /etc/sudoers?

Navarro
quelle

Antworten:

4

Die Grammatik für die Standardeinstellungen lautet wie folgt (siehe Man Sudoers):

Default_Type ::= 'Defaults' |
                 'Defaults' '@' Host_List |
                 'Defaults' ':' User_List |
                 'Defaults' '!' Cmnd_List |
                 'Defaults' '>' Runas_List

User_List ::= User |
              User ',' User_List

Also online

Defaults: myUser !requiretty

Entfernen Sie den Abstand zwischen Defaults:und myUser.

JuantAldea
quelle