sudo är förmodligen ett av de mest använda Linux-kommandona. Det låter dig få administrativa eller förhöjda privilegier på en Linux-maskin.
Du behöver normalt förhöjda privilegier för att utföra åtgärder som att installera programvara, hantera tjänster och ta bort viktiga systemfiler. Men visste du att det finns alternativ till sudo-kommandot på Linux?
Varför köra Linux-kommandon som en annan användare?
sudo är ett mycket viktigt kommando eftersom det låter dig utföra kommandon med superanvändarprivilegier. Som standard har icke-rootanvändare normalt begränsad tillgång till resurser och filer på Linux.
Att begränsa åtkomsten till användare på Linux är mycket viktigt av följande skäl:
- Kontrollera: Det tillåter administratörer eller ägare av systemet att ge specifik åtkomst till vissa filer och program. Detta är bra för systemstabilitet, integritet och övergripande prestanda.
- Säkerhet: Att begränsa åtkomsten till vissa delar av systemet förhindrar oavsiktlig radering eller ändringar av systemet. Och det också minskar systemets attackyta.
sudo fungerar bra och gör mycket mer än vad de flesta använder det till. Tyvärr gör detta den väldigt uppsvälld.
Som tur är, som med det mesta på Linux, finns det några bra alternativ till kommandot sudo, och här är några av dem.
1. pkexec
Kommandot pkexec (PolicyKit Executive) är en front-end-implementering av PolicyKit-ramverket, som tillhandahåller en uppsättning regler för att bevilja privilegier till användare och processer.
pkexec låter dig utföra ett kommando med privilegier för en annan användare eller roll, baserat på reglerna som definieras i en specificerad policy.
Verktyget pkexec är redan installerat på Ubuntu och andra större Linux-distros. Om det inte är installerat, så här installerar du det.
På Debian-baserade system, kör:
sudo apt uppdatering && sudo apt Installera policykit-1
På RHEL och liknande distros, kör:
sudo dnf Installera policykit
På Arch-baserade Linux-distros, använd följande kommando:
sudo sudo pacman -S policykit
Hur man använder pkexec
För att använda pkexec måste du först ange nyckelordet pkexec följt av kommandot du vill köra, följt av eventuella argument eller alternativ som kommandot kräver.
Till exempel att installera det roliga Linux-programmet: cowsay på ditt system med superanvändarprivilegier, skulle du använda följande:
pkexec apt Installera cowsay
Du kan också ange en användare eller roll att överta privilegierna för, genom att använda --användare alternativet följt av namnet på användaren eller rollen. Till exempel, för att utföra det föregående kommandot med administratörsanvändarens privilegier, skulle du använda följande kommando:
pkexec --user admin apt installera cowsay
Du måste också ange lösenordet för användaren eller rollen som du har angett i kommandot. Om du inte har de nödvändiga behörigheterna kommer du att få ett felmeddelande.
2. gör som
Kommandot doas har sitt ursprung i operativsystemet OpenBSD. Det låter dig utföra ett kommando med privilegierna för en angiven användare eller roll.
Det är mycket likt sudo-kommandot, men det är modernt, mycket lätt och lätt att konfigurera eftersom det använder kortfattade och läsbara uttalanden.
Om det inte är det, så här kan du installera doas på Linux.
Konfigurera doas på Linux
till skillnad från sudo och pkexec kommandon måste du konfigurera en nyinstallerad instans av doas innan du börjar använda den. Konfigurationsfilen finns på /etc/doas.conf. Om konfigurationsfilen inte finns, skapa en med pekkommandot eller något annat program du väljer.
För att ge användaren "mwizak" superanvändarprivilegier på ditt system kan du lägga till följande rad i /etc/doas.conf fil:
tillåta bestå :mwizak som rot
Kom ihåg att ersätta användaren "mwizak" i ovannämnda kommando med rätt användarnamn.
När du har sparat konfigurationsändringarna, försök att installera cowsay med följande kommando:
doas apt Installera cowsay
För att använda en annan användare kan du använda -u flagga följt av användarnamnet. Det liknar --användare flagga som används med kommandot pkexec.
Till exempel, för att köra föregående kommando som systemadministratör, skulle du köra:
doas -u admin apt Installera cowsay
3. su
Kommandot su är en förkortning för "byta användare." Det låter dig utföra kommandon som andra användare än den för närvarande inloggade användaren. Det används normalt för att köra kommandon som kräver root-privilegier, men du kan bara köra vilket annat kommando som helst med su.
Att köra su-kommandot utan några argument förutsätter root-användaren, så du måste känna till root-användarens lösenord för att fortsätta. Om du skulle byta till en användare som heter john, skulle du helt enkelt köra kommandot:
su john
Ange lösenordet för användaren john. För att byta tillbaka till den ursprungliga användaren, kör helt enkelt utgång kommando.
Var medveten om att att köra kommandon som root-användare vanligtvis inte rekommenderas eftersom du inte uppmanas att ange en lösenord för varje kommando du kör, vilket kan leda till katastrofala konsekvenser, som att ta bort av misstag filer.
4. dzdo
dzdo är ett kommandoradsverktyg som används för att köra kommandon med en annan användares privilegier, till exempel superanvändaren eller rotanvändaren. Det liknar kommandot sudo, som vanligtvis används för samma ändamål. Kommandot dzdo är oftast tillgängligt på Oracle Linux.
Du kan använda -u flagga för att ange den användare vars privilegier du vill använda. Till exempel kommer följande kommando att köra apt-get uppdatering kommando med privilegierna för superanvändaren (root):
dzdo -u root apt-skaffa sig uppdatering
Systemet kommer att be dig ange lämpligt lösenord för att bekräfta att du har nödvändiga rättigheter för att köra kommandot.
Använd de korrekta användarkontrollerna för förbättrad säkerhet på Linux
sudo är ett vanligt använt kommando på Linux-system som låter en användare utföra ett kommando med rootanvändarens rättigheter. Beroende på dina behov kan du använda alla sudo-alternativ i ditt arbetsflöde.
På Linux är det också viktigt att tilldela rätt åtkomstnivåer till filer och mappar för bättre säkerhet.