sudoer 및 기본값

sudoer 및 기본값

사용자가 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

내가 볼 수 있는 곳에는 먼저 작동하지 않는 requirettymy 이 있습니다. !requiretty나는 이것이 먼저 일반 sudoers파일을 구문 분석한 다음 /etc/sudoers.d/.

원본을 편집하지 않고 이 작품을 만들 수 있는 방법이 있나요 /etc/sudoers?

답변1

기본값의 문법은 다음과 같습니다(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.

관련 정보