OpenBSD上的doas简介

背景

OpenBSD的替代品sudodoas,尽管它的工作方式与sudo不同,并且需要一些配置。它是“专用openbsd应用程序子执行程序”的首字母缩写。2015年发布的OpenBSD 5.8是第一个包含的doas。它是由Ted Unangst创建的,他对sudo的复杂性不满意并且对默认sudo配置有疑问。

doas命令在设计上很简单,并且不包含复杂的sysadmin基础结构所需的高级功能。对于大多数人来说,这已经足够了。如果需要sudo,请以pkg_add sudoroot用户身份安装。

安装

doas预安装OpenBSD 5.8版和更高版本。

组态

要授予车轮组中的用户访问权限doas,请在中添加以下内容/etc/doas.conf。您将需要root用户访问权限才能编辑此文件。

permit :wheel

这将授予Wheel组中的所有用户以任何用户身份执行命令的权限。

如果您希望用户一次输入密码,而不必暂时输入密码,请使用该persist选项。这是一个仅授予车轮组权限的示例:

permit persist :wheel

nopass如果您不希望他们不必输入密码,则可以改用该选项:

permit nopass :wheel

如果您希望用户“ mynewuser”具有管理员权限,则可以通过usermod -G wheel mynewuser以root用户身份运行将它们添加到wheel组,或者在您的行中添加一行,/etc/doas.conf使其看起来类似于以下内容:

permit nopass :wheel
permit nopass mynewuser

本示例假定您在使用时不需要用户输入密码doas。如果要设置它,以便仅允许mynewuser以www用户身份执行命令,则配置如下:

permit nopass :wheel
permit nopass mynewuser as www

如果希望mynewuser只能在doas中使用“ vim”命令,请使用以下配置:

permit nopass :wheel
permit nopass mynewuser as www cmd vim

还有其他配置选项,但是这里介绍的是最常用的。如果您想了解更多信息,可以使用该命令man doas.conf来阅读doas.conf(5)联机帮助页。

测试配置文件

要测试配置文件,请使用doas -C /etc/doas.conf命令。如果以后提供命令,例如doas -C /etc/doas.conf vim,它将告诉您是否有权运行命令而不尝试执行命令。

用法

用户可以echo "test"使用以下命令以root 用户身份运行命令: doas echo "test"

有权使用doas提升为用户“ www”的用户可以vim /var/www/http/index.html通过使用以下命令以用户“ www”的身份运行该命令: doas -u www vim index.html 这对于管理Web服务器但没有完全超级用户权限的用户很有用。

最佳实践

强烈建议您尽可能使用允许而不是拒绝。如果您拒绝用户使用特定的命令,则他们可能可以使用该命令的备用路径或名称(如果存在)逃脱。他们还可以将命令的可执行文件复制到其主目录,然后运行该可执行文件,从而破坏您的权限系统。

一般来说,使用doas比使用su更好,因为没有人必须共享root密码。如果每个人都使用自己的密码进行root访问,则不可能有人更改,忘记它并将每个人锁定在系统之外。日志保存在中/var/log/secure

技巧和窍门

您可以使用keepenv保留所有环境变量,如果您将编辑器设置为某项并且不想在成为另一个用户时更改它,这将很有用。这是mynewuser的示例:

permit nopass keepenv mynewuser

有时在某些情况下,覆盖每个环境变量可能会破坏事情,但是使用setenv,您可以选择要继承的变量。这是一个示例,它将使您的编辑器设置为您想要与git等一起使用的任何内容。

permit nopass setenv { VISUAL EDITOR } mynewuser

您还可以使用setenv删除环境变量(通过在每个要删除的变量前加一个破折号)或将它们设置为带有等号的特定内容。例如,如果您希望它删除环境变量VISUAL并将EDITOR设置为vim,则可以使用以下配置行:

permit nopass setenv { -VISUAL EDITOR=vim } mynewuser

如果doas已记住您的密码,则可以doas -L使它忘记密码。



AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。