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).