Wprowadzenie do doas na OpenBSD

tło

Alternatywą dla OpenBSD sudojest doas, choć nie działa tak samo jak sudo i wymaga pewnej konfiguracji. Jest to skrót od „dedykowanego podwykonawcy aplikacji openbsd”. Jako pierwszy dołączył OpenBSD 5.8, wydany w 2015 roku doas. Został stworzony przez Teda Unangsta po tym, jak był niezadowolony ze złożoności sudo i miał problemy z domyślną konfiguracją sudo.

doasKomenda jest prosta z projektem i nie zawiera zaawansowane funkcje niezbędne do opracowania infrastruktury sysadmin. Dla większości ludzi to więcej niż wystarczające. Jeśli potrzebujesz sudo, zainstaluj go pkg_add sudojako root.

Instalacja

OpenBSD w wersji 5.8 i nowszych zostało doaswstępnie zainstalowane.

Konfiguracja

Aby zapewnić użytkownikom w grupie kół dostęp doas, dodaj następujące elementy do /etc/doas.conf. Będziesz potrzebował dostępu do konta root, aby edytować ten plik.

permit :wheel

To da wszystkim użytkownikom w grupie kół uprawnienia do wykonywania poleceń jak każdy użytkownik.

Jeśli chcesz, aby użytkownicy mogli raz wpisać hasło, nie musisz go wprowadzać przez chwilę, skorzystaj z persistopcji. Oto przykład, który daje uprawnienia tylko grupie kół:

permit persist :wheel

Możesz zamiast tego użyć tej nopassopcji, jeśli nie chcesz, aby nigdy nie musieli wpisywać hasła:

permit nopass :wheel

Jeśli chcesz, aby użytkownik „mynewuser” miał uprawnienia administratora, możesz albo dodać je do grupy kół, uruchamiając usermod -G wheel mynewuserjako root, albo dodać linię do swojego, /etc/doas.confaby wyglądało to mniej więcej tak:

permit nopass :wheel
permit nopass mynewuser

W tym przykładzie założono, że użytkownicy nie muszą wprowadzać hasła podczas używania doas. Jeśli chcesz ustawić go tak, aby mynewuser mógł wykonywać polecenia tylko jako użytkownik www, konfiguracja wyglądałaby następująco:

permit nopass :wheel
permit nopass mynewuser as www

Jeśli chcesz, aby mynewuser mógł korzystać tylko z polecenia „vim” w połączeniu z Doas, użyj następującej konfiguracji:

permit nopass :wheel
permit nopass mynewuser as www cmd vim

Istnieją inne opcje konfiguracji, ale te tutaj omówione są najczęściej. Jeśli chcesz przeczytać więcej, możesz użyć tego polecenia, man doas.confaby przeczytać stronę podręcznika doas.conf (5).

Testowanie plików konfiguracyjnych

Aby przetestować plik konfiguracyjny, użyj doas -C /etc/doas.confpolecenia. Jeśli dostarczysz polecenie później, np doas -C /etc/doas.conf vim. Powie ci, czy masz uprawnienia do uruchomienia polecenia, czy nie bez próby wykonania polecenia.

Stosowanie

Użytkownik może uruchomić polecenie echo "test"jako root, używając polecenia: doas echo "test"

Użytkownik, który ma uprawnienia do korzystania z Doas w celu podniesienia się do użytkownika „www”, może uruchomić polecenie vim /var/www/http/index.htmljako użytkownik „www” za pomocą polecenia: doas -u www vim index.html Jest to przydatne dla kogoś, kto zarządza serwerem WWW, ale nie ma pełnych uprawnień administratora.

Najlepsze praktyki

Zdecydowanie zaleca się stosowanie pozwolenia zamiast odmowy, jeśli to możliwe. Jeśli odmówisz użytkownikowi użycia określonego polecenia, może on być w stanie uniknąć alternatywnej ścieżki lub nazwy tego polecenia, jeśli istnieje. Mogą również skopiować plik wykonywalny polecenia do swojego katalogu domowego, a następnie uruchomić ten plik wykonywalny, pokonując w ten sposób system uprawnień.

Ogólnie rzecz biorąc, lepiej jest używać doas niż su, ponieważ nikt nie musi dzielić hasła roota. Nie ma szans, że ktoś to zmieni, zapomni i zablokuje wszystkich w systemie, jeśli wszyscy użyją własnego hasła w celu uzyskania dostępu do konta root. Dzienniki są przechowywane /var/log/secure.

Porady i wskazówki

Możesz zachować wszystkie zmienne środowiskowe za pomocą keepenv, co jest przydatne, jeśli masz ustawiony edytor na coś i nie chcesz, aby zmienił się, gdy zostaniesz innym użytkownikiem. Oto przykład z mynewuser:

permit nopass keepenv mynewuser

Czasami zdarzają się sytuacje, w których zastąpienie każdej zmiennej środowiskowej może coś zepsuć, ale dzięki setenv możesz wybrać, które z nich chcesz przenieść. Oto przykład, który sprawi, że twój edytor będzie ustawiony na cokolwiek chcesz używać z git i innymi rzeczami.

permit nopass setenv { VISUAL EDITOR } mynewuser

Możesz także użyć setenv, aby usunąć zmienne środowiskowe (wstawiając myślnik przed każdą z nich, którą chcesz usunąć) lub ustawić je na określone rzeczy ze znakiem równości. Na przykład, jeśli chcesz, aby usunąć zmienną środowiskową VISUAL i ustawić EDITOR na vim, użyjesz tej linii konfiguracyjnej:

permit nopass setenv { -VISUAL EDITOR=vim } mynewuser

Jeśli doaspamiętasz hasło, możesz to zrobić, doas -Laby zapomnieć hasło.



Leave a Comment

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.