私のOpenBSDコンピュータには2人の一般ユーザー(「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