doas

sudo指令的替代品

doas (「do as」)是一個用來以其他使用者身分執行指令的程式。系統管理員可以對其進行設定,賦予指定使用者執行特定指令的權限。其為以ISC授權條款授權的自由及開放原始碼軟體,可在UNIX類Unix作業系統中使用。

doas
原作者Ted Unangst
開發者OpenBSD計畫[1]
首次釋出2015年10月18日,​9年前​(2015-10-18[1]
目前版本
  • 1.99(2024年2月15日;穩定版本)[2]
編輯維基數據鏈結
原始碼庫 編輯維基數據鏈結
程式語言C
類型安全軟體
授權條款ISC授權條款
網站https://man.openbsd.org/doas

doas是由Ted Unangst為OpenBSD所開發的,是一種更簡單且更安全的sudo替代品[3][4]

歷史

doas最初由Ted Unangst開發[5],並於2015年10月與OpenBSD 5.8一同發布,取代了sudo[1]。但OpenBSD仍然提供sudo作為可獨立安裝的軟體包[1]

設定

權限的定義皆編寫於設定檔/etc/doas.conf[6]

範例

允許user1在不輸入密碼的情況下以root的身分執行procmap:

permit nopass user1 as root cmd /usr/sbin/procmap

允許wheel群組的成員以root身分執行任何指令:

permit :wheel as root

上方設定的簡化版本(但僅在安裝後,預設的使用者為root的情況下才有效):

permit :wheel

允許wheel群組的成員執行任何指令(預設使用者為root的情況下),並記住他們輸入的密碼:

permit persist :wheel

移植與可用性

Jesse Smith的移植版doas被DragonFlyBSDFreeBSDNetBSD[7]打包。據作者介紹,其也可以在illumosmacOS上運作[8]。OpenDoas是Linux的移植版,被AlpineArchGentooGNU GuixHyperboloaManjaroParabolaNixOSUbuntuVoid Linux等散佈版打包[9]

參見

參考資料

  1. ^ 1.0 1.1 1.2 1.3 OpenBSD 5.8. www.openbsd.org. [2020-05-06]. (原始內容存檔於2021-05-17). 
  2. ^ https://cvsweb.openbsd.org/src/usr.bin/doas/doas.c?rev=1.99; 檢索日期: 2024年5月30日; 檔案格式: 文字檔案.
  3. ^ Yegulalp, Serdar. OpenBSD 6.0 tightens security by losing Linux compatibility. InfoWorld. 2016-07-25 [2020-05-06]. (原始內容存檔於2021-07-25) (英語). 
  4. ^ Millman, Rene. Linux Sudo bug could allow hackers root access. SC Media UK. SC Media UK. 2019-10-18 [2020-05-06]. (原始內容存檔於2021-09-29). 
  5. ^ doas(1) – OpenBSD通用命令(General Commands)手冊頁
  6. ^ Privileges | OpenBSD Handbook. www.openbsdhandbook.com. [2020-05-06]. (原始內容存檔於2021-03-03). 
  7. ^ The NetBSD Packages Collection: security/doas. ftp.netbsd.org. [2020-05-06]. (原始內容存檔於2021-09-29). 
  8. ^ Smith, Jesse. doas. GitHub. [2020-08-24]. (原始內容存檔於2021-04-27). 
  9. ^ opendoas. repology.org. [2021-07-25]. (原始內容存檔於2021-03-03).