!["doas"를 사용하면 사용자가 다른 사용자와 함께 명령을 실행하고 환경 변수를 설정할 수 있습니다.](https://linux55.com/image/123463/%22doas%22%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%A9%B4%20%EC%82%AC%EC%9A%A9%EC%9E%90%EA%B0%80%20%EB%8B%A4%EB%A5%B8%20%EC%82%AC%EC%9A%A9%EC%9E%90%EC%99%80%20%ED%95%A8%EA%BB%98%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%8B%A4%ED%96%89%ED%95%98%EA%B3%A0%20%ED%99%98%EA%B2%BD%20%EB%B3%80%EC%88%98%EB%A5%BC%20%EC%84%A4%EC%A0%95%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
내 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