Позадина
Инсталација
Конфигурација
Употреба
Најбоље праксе
Савети и Трикови
Позадина
ОпенБСД-ова алтернатива sudoје doas, иако не функционише на исти начин као судо и захтева одређену конфигурацију. То је акроним за „дедицатед опенбсд апплицатион субекецутор“. ОпенБСД 5.8, објављен 2015. године, први је укључио doas. Направио га је Тед Унангст након што је био незадовољан сложеношћу судо-а и имао проблема са подразумеваном судо конфигурацијом.
doasКоманда је једноставна по дизајну и не садржи напредне функције које су потребне за раскошним СисАдмин инфраструктуре. За већину људи то је више него довољно. Ако вам је потребно sudo, инсталирајте га са pkg_add sudoроот-ом.
Инсталација
ОпенБСД верзија 5.8 и новије је doasунапред инсталиран.
Конфигурација
Да бисте корисницима у групи точкића дали приступ doas, додајте следеће у /etc/doas.conf. Биће вам потребан роот приступ да бисте уредили ову датотеку.
permit :wheel
Ово ће свим корисницима у групи точкића дати дозволу да извршавају команде као било који корисник.
Ако желите да корисници могу једном да унесу своју лозинку, а затим да не морају да је уносе неко време, користите persistопцију. Ево примера који даје дозволе само групи точкова:
permit persist :wheel
Уместо тога, можете да користите nopassопцију ако желите да никада не морају да уносе своју лозинку:
permit nopass :wheel
Ако желите да корисник "миневусер" има администраторска права, можете или да га додате у групу точкића тако што ћете покренути usermod -G wheel mynewuserкао роот или додати линију у своју /etc/doas.confтако да изгледа отприлике овако:
permit nopass :wheel
permit nopass mynewuser
Овај пример претпоставља да не морате да ваши корисници уносе лозинку када користите doas. Ако желите да га подесите тако да миневусер сме да извршава команде само као ввв корисник, конфигурација би била следећа:
permit nopass :wheel
permit nopass mynewuser as www
Ако желите да миневусер може да користи само команду „вим“ са доас-ом, користите следећу конфигурацију:
permit nopass :wheel
permit nopass mynewuser as www cmd vim
Постоје и друге опције конфигурације, али оне које су овде покривене су најчешће. Ако желите да прочитате више, можете користити команду man doas.confда прочитате доас.цонф(5) ман страницу.
Тестирање конфигурационих датотека
Да бисте тестирали конфигурациону датотеку, користите doas -C /etc/doas.confкоманду. Ако накнадно унесете команду, нпр. doas -C /etc/doas.conf vim, она ће вам рећи да ли имате дозволу да покренете команду или не без покушаја да извршите команду.
Употреба
Корисник може покренути команду echo "test"као роот користећи команду:
doas echo "test"
Корисник који има дозволе да користи доас да би се уздигао до корисника "ввв" може покренути команду vim /var/www/http/index.htmlкао корисник "ввв" користећи команду:
doas -u www vim index.html
Ово је корисно за некога ко управља веб сервером, али нема пуне дозволе суперкорисника.
Најбоље праксе
Веома је препоручљиво да користите дозволу уместо одбијања где је то могуће. Ако одбијете кориснику да користи одређену команду, можда ће моћи да се извуче коришћењем алтернативне путање или имена те команде ако постоји. Они такође могу да копирају извршни фајл команде у свој кућни директоријум, а затим да покрећу тај извршни фајл, чиме побеђују ваш систем дозвола.
Уопштено говорећи, боља је идеја да користите доас него да користите су јер нико не мора да дели роот лозинку. Нема шансе да га неко промени, заборави и закључа све из система ако свако користи сопствену лозинку за роот приступ. Дневници се чувају у /var/log/secure.
Савети и Трикови
Можете задржати све променљиве окружења помоћу Кеепенв-а, што је корисно ако имате уређивач подешен на нешто и не желите да се то промени када постанете други корисник. Ево примера са миневусер:
permit nopass keepenv mynewuser
Понекад постоје ситуације у којима преписивање сваке променљиве окружења може да поквари ствари, али са сетенв-ом можете бирати које ћете пренети. Ево примера који ће задржати ваш уређивач подешен на шта год желите за употребу са гит-ом и неким другим стварима.
permit nopass setenv { VISUAL EDITOR } mynewuser
Такође можете користити сетенв да уклоните променљиве окружења (тако што ћете ставити цртицу испред сваке од њих коју желите да уклоните) или их поставите на одређене ствари са знаком једнакости. На пример, ако желите да уклони променљиву окружења ВИСУАЛ и подесите ЕДИТОР на вим, користили бисте ову конфигурациону линију:
permit nopass setenv { -VISUAL EDITOR=vim } mynewuser
Ако doasје запамтио вашу лозинку, можете учинити doas -Lда заборави лозинку.