doas

sudo指令的替代品

doas (“do as”)是一个用来以其他用户身份执行指令的程序。系统管理员可以对其进行设置,赋予指定用户执行特定指令的权限。其为以ISC许可证许可的自由及开放源代码软件,可在UNIX类Unix操作系统中使用。

doas
原作者Ted Unangst
开发者OpenBSD项目[1]
首次发布2015年10月18日,​8年前​(2015-10-18[1]
当前版本
  • 1.98 (2022年12月22日;稳定版本)[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 GuixHyperboloaManjaroParabolaNixOS英语NixOSUbuntuVoid 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.98; 检索日期: 2023年7月22日; 文件格式: 纯文字.
  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).