OpenBSD doas: различия между версиями

Материал из OpenBSD-Wiki
Перейти к навигации Перейти к поиску
м
м
 
(не показаны 3 промежуточные версии этого же участника)
Строка 1: Строка 1:
Ted Unangst (tedu@) представил [http://www.tedunangst.com/flak/post/doas doas] - небольшую, поддерживающую лишь основные функции замену '''sudo''' для OpenBSD.
+
Ted Unangst (tedu@) представил [http://www.tedunangst.com/flak/post/doas doas] — «легкую» замену '''sudo''' в OpenBSD, поддерживающую только основные функции. Начиная с OpenBSD 5.8, '''doas''' входит в состав базовой системы. Использовать '''doas''' очень просто, достаточно создать файл конфигурации '''/etc/doas.conf'''.
  
Начиная с OpenBSD 5.8, '''doas''' входит в состав базовой системы. Использовать '''doas''' крайне просто, достаточно создать файл конфигурации '''/etc/doas.conf'''.
+
* Либеральная OpenBSD система:<br /><pre>permit nopass keepenv { ENV PS1 SSH_AUTH_SOCK } :wheel</pre> Пользователи из группы '''wheel''' выполняют команды как '''root''' (используется по умолчанию, если не указан иной пользователь). Разрешено запускать любые команды без запроса пароля, значения переменных '''ENV''', '''PS1''' и '''SSH_AUTH_SOCK''' наследуются.
  
Либеральная OpenBSD система:
+
* То же, что и выше, но с запросом пароля пользователя:<br /><pre>permit keepenv {ENV PS1 SSH_AUTH_SOCK} :wheel</pre>
<pre>permit nopass keepenv { ENV PS1 SSH_AUTH_SOCK } :wheel</pre>
 
  
Пользователи группы '''wheel''', выполняют команды от пользователя '''root''' (root используется по умолчанию, если не указан иной пользователь). Разрешено запускать любые команды без запроса пароля, значения переменных '''ENV''', '''PS1''' и '''SSH_AUTH_SOCK''' наследуются.
+
* Разрешает пользователю bob выполнить '''/bin/sh''' как fred:<br /><pre>permit bob as fred cmd /bin/sh</pre>
  
Тоже, что и выше, но с запросом пароля пользователя:
+
* Запретить всё пользователям группы '''wheel''':<br /><pre>deny :wheel</pre>
<pre>permit keepenv {ENV PS1 SSH_AUTH_SOCK} :wheel</pre>
 
  
Разрешает пользователю bob выполнить '''/bin/sh''' как fred:
 
<pre>permit bob as fred cmd /bin/sh</pre>
 
  
Запретить всё пользователям группы '''wheel''':
+
Правила в '''doas.conf''' читаются сверху вниз, поэтому если запрещающее правило следует сразу за разрешающим, то разрешающее будет действовать, так как имеет приоритет. Кроме того, '''doas.conf''' должен завершаться пустой строкой.
<pre>deny :wheel</pre>
 
  
Правила в '''doas.conf''' читаются сверху вниз, поэтому если запрещающее правило следует сразу за разрешающим, то разрешающее будет действовать, так как имеет приоритет. Кроме того, '''doas.conf''' должен завершаться пустой строкой.
 
  
 
[http://www.badbug.id.au/doas-or-how-i-use-sudo-on-openbsd-5-8/ По мотивам]
 
[http://www.badbug.id.au/doas-or-how-i-use-sudo-on-openbsd-5-8/ По мотивам]

Текущая версия на 06:54, 9 сентября 2015

Ted Unangst (tedu@) представил doas — «легкую» замену sudo в OpenBSD, поддерживающую только основные функции. Начиная с OpenBSD 5.8, doas входит в состав базовой системы. Использовать doas очень просто, достаточно создать файл конфигурации /etc/doas.conf.

  • Либеральная OpenBSD система:
    permit nopass keepenv { ENV PS1 SSH_AUTH_SOCK } :wheel
    Пользователи из группы wheel выполняют команды как root (используется по умолчанию, если не указан иной пользователь). Разрешено запускать любые команды без запроса пароля, значения переменных ENV, PS1 и SSH_AUTH_SOCK наследуются.
  • То же, что и выше, но с запросом пароля пользователя:
    permit keepenv {ENV PS1 SSH_AUTH_SOCK} :wheel
  • Разрешает пользователю bob выполнить /bin/sh как fred:
    permit bob as fred cmd /bin/sh
  • Запретить всё пользователям группы wheel:
    deny :wheel


Правила в doas.conf читаются сверху вниз, поэтому если запрещающее правило следует сразу за разрешающим, то разрешающее будет действовать, так как имеет приоритет. Кроме того, doas.conf должен завершаться пустой строкой.


По мотивам