사용자가 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
있습니까?
답변
기본 문법은 다음과 같습니다 (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
.