"doas"를 사용하면 사용자가 다른 사용자와 함께 명령을 실행하고 환경 변수를 설정할 수 있습니다.

"doas"를 사용하면 사용자가 다른 사용자와 함께 명령을 실행하고 환경 변수를 설정할 수 있습니다.

내 OpenBSD 컴퓨터에는 두 명의 일반 사용자("user" 및 "TESTUSER")가 있고 다음 doas 구성이 있습니다.

# cat /etc/doas.conf                                                                                                                                                                           
permit setenv { DISPLAY=:0 } nopass user /usr/X11R6/bin/xcalc as TESTUSER
# 

하지만 "user"(예: "TESTUSER")를 사용하여 "xcalc"를 실행하려고 하면 구문 오류가 발생합니다.

$ id
uid=1000(user) gid=1000(user) groups=1000(user), 0(wheel)
$ doas /usr/X11R6/bin/xcalc
doas: syntax error at line 1
$ 

질문: 내가 무슨 문법적 오류를 범했나요?

https://man.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man1/doas.1 https://man.openbsd.org/doas.conf

답변1

귀하의 구성

permit setenv { DISPLAY=:0 } nopass user /usr/X11R6/bin/xcalc as TESTUSER

설명서의 형식을 따르지 않음(구문 오류가 발생하는 곳):

permit|deny [options] identity [as target] [cmd command [args ...]]

이 명령은 마지막에 배치되어야 합니다.

permit setenv { DISPLAY=:0 } nopass user as TESTUSER cmd /usr/X11R6/bin/xcalc

doas그런 다음 다음 과 같이 전화해야합니다 .

$ doas -u TESTUSER /usr/X11R6/bin/xcalc

https://man.openbsd.org/doas.conf

관련 정보