Openbsd
“doas”允許使用者與其他使用者一起執行命令並設置環境變數
我的 OpenBSD 機器上有兩個普通使用者(“user”和“TESTUSER”),我有這個 doas 配置:
# cat /etc/doas.conf permit setenv { DISPLAY=:0 } nopass user /usr/X11R6/bin/xcalc as TESTUSER #
但是當我嘗試使用“使用者”(作為“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
你的配置
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
as$ doas -u TESTUSER /usr/X11R6/bin/xcalc