Je dois autoriser un utilisateur à exécuter sudo sans mot de passe sans tty.
J'ai un fichier sous /etc/sudoers.d/
avec les commandes et paramètres spéciaux dont j'ai besoin, car je n'ai pas envie de modifier directement le sudoers
fichier. Dans ce fichier, j'ai les éléments suivants:
# 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
Cependant, lorsque je passe su
à l'utilisateur et que j'exécute, sudo -l
j'obtiens ceci dans les paramètres par défaut:
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
Où je peux le voir a d'abord requiretty
et à la fin mon !requiretty
, ce qui ne fonctionne pas. Je suppose que cela se produit car il est d'abord analysé le sudoers
fichier normal , puis mon fichier personnalisé sous /etc/sudoers.d/
.
Existe-t-il un moyen de faire ce travail sans éditer l'original /etc/sudoers
?