doas

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
doas
Original authorTed Unangst
DeveloperOpenBSD Project[1]
Initial release18 October 2015; 10 years ago (2015-10-18)[1]
Stable release
[2] /  ()
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inC
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    TypeSecurity software
    LicenseISC license
    Websiteman.openbsd.org/doas

    doas (“dedicated openbsd application subexecutor”)[3] is a program to execute commands as another user. The system administrator can configure it to give specified users privileges to execute specified commands. It is free and open-source under the ISC license[4] and available in Unix and Unix-like operating systems.

    doas was developed by Ted Unangst[5] for OpenBSD as a simpler and safer sudo replacement.[6][7] Unangst himself had issues with the default sudo config, which was his motivation to develop doas.[3] doas was released with OpenBSD 5.8 in October 2015 replacing sudo.[1] However, OpenBSD still provides sudo as a package.[1]

    Configuration

    [edit | edit source]

    Definition of privileges should be written in the configuration file, /etc/doas.conf.[8] The syntax used in the configuration file is inspired by the packet filter configuration file.[3]

    Examples

    [edit | edit source]

    Allow user1 to execute procmap as root without password:[citation needed]

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

    Allow members of the wheel group to run any command as root:

    permit :wheel as root
    

    Simpler version (only works if default user is root, which it is after install):

    permit :wheel
    

    To allow members of wheel group to run any command (default as root) and remember that they entered the password:

    permit persist :wheel
    

    Ports and availability

    [edit | edit source]

    Jesse Smith’s[9] port of doas is packaged for DragonFlyBSD,[10] FreeBSD,[11] and NetBSD.[12] According to the author, it also works on illumos and macOS.[13]

    OpenDoas, a Linux port, is packaged for Debian, Alpine, Arch, CRUX, Fedora, Gentoo, GNU Guix, Hyperbola, Manjaro, Parabola, NixOS, Ubuntu, and Void Linux.[14] Starting with Alpine Linux v3.16 release, OpenDoas became the suggested replacement for sudo, which got its security maintenance time reduced within the distribution.[15]

    See also

    [edit | edit source]

    References

    [edit | edit source]
    1. ^ a b c d Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ doas(1) – OpenBSD General Commands Manual
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).