sudoersとデフォルト


11

ユーザーがttyなしでパスワードなしのsudoを実行できるようにする必要があります。

ファイルを/etc/sudoers.d/直接編集したくないので、必要な特別なコマンドと設定を含むsudoersファイルがあります。そのファイルには、次のものが含まれています。

# 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

ただしsu、ユーザーにアクセスして実行するsudo -lと、デフォルトで次のようになります。

 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

私がそれを見ることができる場所には、最初にrequirettyそして最後に私のがあり!requiretty、これは機能しません。これは、通常のsudoersファイルが最初に解析され、次にの下にあるカスタムファイルが解析されるために発生していると思います/etc/sudoers.d/

オリジナルを編集せずにこの作品を作る方法はあり/etc/sudoersますか?

回答:


4

デフォルトの文法は次のとおりです(man sudoersを参照)。

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

User_List ::= User |
              User ',' User_List

だからオンライン

Defaults: myUser !requiretty

Defaults:との間のスペースを削除しますmyUser

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.