Introduktion til doas på OpenBSD

Baggrund

OpenBSDs alternativ til sudoer doas, selvom det ikke fungerer på samme måde som sudo og kræver en vis konfiguration. Det er et akronym for "dedikeret openbsd application subexecutor". OpenBSD 5.8, udgivet i 2015, var den første til at inkludere doas. Det blev oprettet af Ted Unangst, efter at han var utilfreds med kompleksiteten af ​​sudo og havde problemer med standard sudo-konfigurationen.

Den doaskommando er enkel ved design og ikke indeholder avancerede funktioner, der kræves for kunstfærdige Systemadministrator- infrastrukturer. For de fleste er det mere end nok. Hvis du har brug for sudo, skal du installere det med pkg_add sudosom root.

Installation

OpenBSD version 5.8 og nyere er doasforudinstalleret.

Konfiguration

For at give brugere i hjulgruppen adgang til doasskal du tilføje følgende til /etc/doas.conf. Du skal bruge root-adgang for at redigere denne fil.

permit :wheel

Dette vil give alle brugere i hjulgruppen tilladelse til at udføre kommandoer som enhver bruger.

Hvis du gerne vil have, at brugere skal kunne indtaste deres adgangskode én gang, så ikke behøver at indtaste det i et stykke tid, så brug persistmuligheden. Her er et eksempel, der kun giver tilladelser til hjulgruppen:

permit persist :wheel

Du kan i stedet bruge nopassmuligheden, hvis du ønsker, at de aldrig skal indtaste deres adgangskode:

permit nopass :wheel

Hvis du gerne vil have brugeren "minnybruger" til at have administratorrettigheder, kan du enten tilføje dem til hjulgruppen ved at køre usermod -G wheel mynewusersom root eller tilføje en linje til din, /etc/doas.confså den ser nogenlunde sådan ud:

permit nopass :wheel
permit nopass mynewuser

Dette eksempel forudsætter, at du ikke behøver, at dine brugere indtaster en adgangskode, når de bruger doas. Hvis du vil indstille det, så mynewuser kun må udføre kommandoer som www-bruger, vil konfigurationen være som følger:

permit nopass :wheel
permit nopass mynewuser as www

Hvis du ønsker, at mynewuser kun skal kunne bruge "vim"-kommandoen med doas, skal du bruge følgende konfiguration:

permit nopass :wheel
permit nopass mynewuser as www cmd vim

Der er andre konfigurationsmuligheder, men dem, der er dækket her, er de mest almindelige. Hvis du gerne vil læse mere, kan du bruge kommandoen man doas.conftil at læse doas.conf(5) manpage.

Test af konfigurationsfiler

For at teste en konfigurationsfil skal du bruge doas -C /etc/doas.confkommandoen. Hvis du angiver en kommando bagefter, f.eks doas -C /etc/doas.conf vim. vil den fortælle dig, om du har tilladelse til at køre en kommando eller ej uden at prøve at udføre kommandoen.

Brug

En bruger kan køre kommandoen echo "test"som root ved at bruge kommandoen: doas echo "test"

En bruger, der har tilladelser til at bruge doas til at ophøje sig selv til brugeren "www" kan køre kommandoen vim /var/www/http/index.htmlsom brugeren "www" ved at bruge kommandoen: doas -u www vim index.html Dette er nyttigt for en person, der administrerer webserveren, men som ikke har fulde superbrugertilladelser.

Bedste praksis

Det anbefales stærkt, at du bruger tilladelse i stedet for at nægte, hvor det er muligt. Hvis du nægter en bruger at bruge en bestemt kommando, kan de muligvis slippe af sted med at bruge en alternativ sti eller navn på den kommando, hvis den findes. De kan også kopiere kommandoens eksekverbare til deres hjemmemappe og derefter køre den eksekverbare, og derved besejre dit tilladelsessystem.

Generelt set er det en bedre idé at bruge doas end at bruge su, fordi ingen skal dele root-adgangskoden. Der er ingen chance for, at nogen ændrer det, glemmer det og låser alle ude af systemet, hvis alle bruger deres egen adgangskode til root-adgang. Logs opbevares i /var/log/secure.

Tips og tricks

Du kan beholde alle dine miljøvariabler med keepenv, hvilket er nyttigt, hvis du har din editor indstillet til noget og ikke ønsker, at den skal ændre sig, når du bliver en anden bruger. Her er et eksempel med mynewuser:

permit nopass keepenv mynewuser

Nogle gange er der situationer, hvor overskrivning af enhver miljøvariabel kan ødelægge ting, men med setenv kan du vælge og vrage, hvilke du vil overføre. Her er et eksempel, der vil holde din editor indstillet til, hvad du vil, til brug med git og nogle andre ting.

permit nopass setenv { VISUAL EDITOR } mynewuser

Du kan også bruge setenv til at fjerne miljøvariabler (ved at sætte en bindestreg før hver af dem, du vil fjerne) eller indstille dem til specifikke ting med et lighedstegn. Hvis du f.eks. ønskede, at den skulle fjerne miljøvariablen VISUAL og indstille EDITOR til vim, ville du bruge denne konfigurationslinje:

permit nopass setenv { -VISUAL EDITOR=vim } mynewuser

Hvis du doashar husket din adgangskode, kan du gøre for doas -Lat få den til at glemme adgangskoden.

Efterlad en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere