Háttér
Telepítés
Konfiguráció
Használat
Legjobb gyakorlatok
Tippek és trükkök
Háttér
OpenBSD alternatívája sudovan doas, bár ez nem működik, ugyanúgy, mint a sudo igényel némi konfigurációt. Ez a "dedicated openbsd application subexecutor" rövidítése. A 2015-ben megjelent OpenBSD 5.8 volt az első, amely tartalmazza a doas. Ted Unangst hozta létre, miután elégedetlen volt a sudo összetettségével, és problémái voltak az alapértelmezett sudo konfigurációval.
A doasparancs tervezése egyszerű, és nem tartalmaz fejlett rendszergazdai infrastruktúrákhoz szükséges speciális szolgáltatásokat. A legtöbb ember számára ez több mint elég. Ha szükséges sudo, telepítse pkg_add sudorootként.
Telepítés
Az OpenBSD 5.8-as és újabb verziói doaselőre telepítve vannak.
Konfiguráció
Ha a kerékcsoport felhasználóinak hozzáférést szeretne doasadni a következőhöz, adja hozzá a következőket a következőhöz /etc/doas.conf. A fájl szerkesztéséhez root hozzáférésre lesz szüksége.
permit :wheel
Ezzel a kerékcsoport minden felhasználója engedélyt ad parancsok végrehajtására, mint bármely felhasználó.
Ha azt szeretné, hogy a felhasználók egyszer megadhassák jelszavukat, de egy ideig ne kelljen megadniuk, használja ezt a persistlehetőséget. Íme egy példa, amely csak a kerékcsoportnak ad engedélyt:
permit persist :wheel
Ehelyett használhatja ezt a nopasslehetőséget, ha azt szeretné, hogy soha ne kelljen megadniuk jelszavukat:
permit nopass :wheel
Ha azt szeretné, hogy a "mynewuser" felhasználó adminisztrátori jogokkal rendelkezzen, akkor vagy hozzáadhatja őket a kerékcsoporthoz úgy, usermod -G wheel mynewuserhogy rootként fut , vagy hozzáadhat egy sort a sajátjához, /etc/doas.confígy a következőképpen néz ki:
permit nopass :wheel
permit nopass mynewuser
Ez a példa azt feltételezi, hogy a felhasználóknak nem kell jelszót megadniuk a doas. Ha úgy szeretné beállítani, hogy a mynewuser csak www felhasználóként hajtson végre parancsokat, a konfiguráció a következő:
permit nopass :wheel
permit nopass mynewuser as www
Ha azt szeretné, hogy a mynewuser csak a "vim" parancsot tudja használni a doas-szal, használja a következő konfigurációt:
permit nopass :wheel
permit nopass mynewuser as www cmd vim
Vannak más konfigurációs lehetőségek is, de az itt leírtak a leggyakoribbak. Ha többet szeretne olvasni, a paranccsal man doas.confolvassa el a doas.conf(5) kézikönyvet.
Konfigurációs fájlok tesztelése
A konfigurációs fájl teszteléséhez használja a doas -C /etc/doas.confparancsot. Ha utólag adsz ki egy parancsot, pl. doas -C /etc/doas.conf vim, az megmondja, hogy van-e engedélyed egy parancs futtatására, anélkül, hogy megpróbálnád végrehajtani.
Használat
A felhasználó echo "test"rootként futtathatja a parancsot a következő paranccsal:
doas echo "test"
Azok a felhasználók, akik jogosultak a doas használatára, hogy "www" felhasználóvá emeljék magukat, a parancsot vim /var/www/http/index.html"www" felhasználóként futtathatják a paranccsal:
doas -u www vim index.html
Ez hasznos azoknak, akik kezelik a webszervert, de nem rendelkeznek teljes felettes felhasználói jogosultságokkal.
Legjobb gyakorlatok
Erősen ajánlott az engedélyezést a megtagadás helyett, ahol lehetséges. Ha megtagadja egy felhasználótól egy adott parancs használatát, akkor előfordulhat, hogy megúszhatja a parancs alternatív elérési útját vagy nevét, ha létezik ilyen. Ezenkívül a parancs végrehajtható fájlját a saját könyvtárukba másolhatják, majd futtathatják a végrehajtható fájlt, ezzel legyőzve az engedélyrendszert.
Általánosságban elmondható, hogy jobb ötlet a doas használata, mint a su használata, mert senkinek sem kell megosztania a root jelszót. Nincs esély arra, hogy valaki megváltoztassa, elfelejtse, és mindenkit kizárjon a rendszerből, ha mindenki a saját jelszavát használja root hozzáféréshez. A naplókat ben tárolják /var/log/secure.
Tippek és trükkök
Az összes környezeti változót megtarthatod a keepenv paranccsal, ami akkor hasznos, ha a szerkesztőt beállítod valamire, és nem szeretnéd, hogy megváltozzon, amikor egy másik felhasználó leszel. Íme egy példa a mynewuserrel:
permit nopass keepenv mynewuser
Néha vannak olyan helyzetek, amikor az összes környezeti változó felülírása tönkreteheti a dolgokat, de a setenv segítségével kiválaszthatja, hogy melyiket szeretné átvinni. Íme egy példa, amely a szerkesztőt úgy állítja be, ahogyan szeretné, a git és néhány más dolog használatához.
permit nopass setenv { VISUAL EDITOR } mynewuser
Használhatja a setenv-t a környezeti változók eltávolítására is (az eltávolítani kívánt változók előtt kötőjellel), vagy egyenlőségjellel állíthatja be őket bizonyos dolgokra. Ha például azt szeretné, hogy eltávolítsa a VISUAL környezeti változót, és az EDITOR-t vim értékre állítsa, akkor ezt a konfigurációs sort kell használnia:
permit nopass setenv { -VISUAL EDITOR=vim } mynewuser
Ha doaselfelejtette jelszavát, megteheti doas -L, hogy elfelejtse a jelszót.