Den här guiden visar hur du administrerar grupper med kommandot gpasswd. Varje fil och mapp inom Linux har användar-, grupp- och ägarbehörigheter. Genom att styra vem som har tillgång till en grupp kan du styra vad som händer med filer och mappar på ditt system utan att behöva ange behörigheter för varje användare.
En liten bit om tillstånd
Öppna en terminal och i din hemmapp skapa en mapp som heter konton med kommandot mkdir på följande sätt:
mkdir-konton
Kör nu kommandot ls som visar behörigheterna för den mapp du just har skapat.
ls-lt
Du kommer att se något så här:
drwxr-xr-x 2 ditt namn ditt namn 4096 datum konton
De bitar som vi är intresserade av är de tillstånd som i det ovanstående exemplet är "drwxr-xr-x". Vi är också intresserade av de 2 "ditt namn" värdena.
Låt oss prata om behörigheterna först. "D" står för katalog och låter oss veta att konton är en katalog.
Resten av behörigheterna är uppdelad i 3 sektioner: "rwx", "r-x", "r-x". Den första delen med 3 tecken är de behörigheter som ägaren till ett objekt har. Den andra sektionen med 3 tecken är de behörigheter som någon som tillhör gruppen har och äntligen den sista delen är de behörigheter som alla andra har.
"R" står för "läs", "w" står för "skriv" och "x" står för "execute".
Därför har ägaren, i exemplet ovan, läst, skriv och kör behörigheter för kontotmappen medan gruppen och alla andra bara har läst och kör behörigheter.
I exemplet är det första "ditt namn" ägaren till objektet och det andra "ditt namn" är den primära gruppen för kontomappen.
För att göra den här guiden mer användbar, lägg till ett par fler konton till ditt system med följande adduserkommandon:
sudo adduser tim
sudo adduser tom
Du kommer att bli ombedd att ställa in ett lösenord för var och en och ange annan information. Du kan komma undan med bara lösenordet och returnera genom resten av fälten.
Nu när du har 3 konton kör följande kommando för att ändra ägaren till ditt konto.
sudo chown tom konton
Nu kör kommandot ls igen.
ls-lt
Tillstånden kommer nu att vara följande:
drwxr-xr-x tom ditt namn
Du kommer att kunna navigera i kontotmappen med hjälp av cd-kommandot på följande sätt:
cd-konton
Försök nu skapa en fil med följande kommando:
touch-test
Du kommer att få följande fel:
touch: kan inte röra "test": Tillstånd nekat
Anledningen till detta är att Tom är ägaren och har läst, skriv och kör behörigheter men du är bara en del av gruppen och du har bara gruppbehörigheter.
Navigera tillbaka till hemmappen och ändra behörigheterna för konton genom att skriva följande kommandon:
CD ..
sudo chmod 750 konton
Nu kör kommandot ls igen:
ls-lt
Tillstånden för kontotmappen kommer nu att vara följande:
drwxr-x ---
Det innebär att ägaren har full behörighet, användare med gruppen "ditt namn" kommer att ha läst och kör behörigheter och alla andra har inga behörigheter.
Testa. Navigera till kontotmappen och kör kommandot kommandot igen:
cd-konton
touch-test
Du har fortfarande behörigheterna att navigera till mappen men har inte behörigheter att skapa filer. Om du bara var en vanlig användare kan du inte ens komma in i kontotmappen.
För att försöka ut det här byter du till användaren Tim och navigerar till kontotmappen enligt följande:
su - tim
cd / hem / namn / konton
Du får ett tillstånd som inte godkänts.
Så varför använder du gruppbehörigheter och anger inte enskilda behörigheter för alla användare? Om du har en kontonavdelning som alla ska ha tillgång till vissa kalkylblad och dokument, men ingen annan i företaget bör istället för att ställa in behörigheterna till alla personer i konton kan du ställa in behörigheterna för mappen till en grupp som heter konton och sedan lägg till användarna i gruppen.
Varför är det bättre att ställa in enskilda användarbehörigheter? Om en användare lämnar avdelningen kan du bara ta bort dem från gruppen i stället för att utarbeta sina behörigheter i en serie mappar.
Hur man skapar en grupp
Du kan använda följande kommando för att skapa en grupp:
Så här lägger du till en användare i en grupp
sudo gpasswd -a användarnamn konton
Ovanstående kommando kan användas för att lägga till en enda användare i kontogruppen.
För att lägga till en lista med användare som medlemmar i gruppen kör följande kommando:
sudo gpassword -M ditt namn, tom, tim konton
När en användare har lagts till ett konto kan användaren lägga till gruppen i sin lista över sekundära grupper genom att köra följande kommando:
newgrp-konton
Alla användare som inte tillhör gruppen kommer att bli ombedda att ange grupplösenordet.
Så här ändrar du den primära gruppen för en mapp
Nu när vi har en grupp med en användare kan du tilldela den gruppen till kontotmappen med följande chgrp-kommando:
sudo chgrp konton konton
De första kontona är namnet på gruppen och den andra kontot är namnet på mappen.
Så här kontrollerar du om en användare tillhör en grupp
Du kan kontrollera om en användare tillhör en grupp genom att köra följande kommando:
grupper
Detta kommer att returnera listan över grupper som en användare tillhör.
Så här ändrar du grupplösenordet
För att ändra grupplösenordet kan du köra följande kommando:
sudo gpasswd
Du kommer att bli ombedd att ange ett lösenord för gruppen och upprepa det.
Nu kan du lägga till användare till en grupp på det sätt som anges ovan eller en ny användare kan gå med i gruppen genom att springa följande kommando och leverera rätt lösenord:
newgrp
Självklart vill du inte ge grupplösenordet ut till någon, så det är bättre att själv lägga till användaren till gruppen.
Så här begränsar du grupper till bara de angivna medlemmarna
Om du inte vill ha någon som bara vet lösenordet för att gå med i en grupp kan du köra följande kommando:
Ange en användare som en administratör
Du kan ställa in användare som administratörer av en grupp. Detta gör att användaren kan lägga till och ta bort användare från en viss grupp samt ändra lösenordet
För att göra detta kör följande kommando:
Så här tar du bort ett grupplösenord
Du kan ta bort lösenordet från en grupp genom att använda följande kommando:
Så här tar du bort en användare från gruppen
För att radera en användare från gruppen kör följande kommando:
Hur man ger en grupp Läs, skriv och kör tillstånd i en fil eller mapp
Hittills har användare inom kontogruppen tillgång till kontotmappen men de kan verkligen göra något för att de bara har läst och kör behörigheter.
För att ge skrivbehörigheter till gruppen kan du köra följande kommando:
Sammanfattning
Den här guiden har infört några kommandon som hjälper dig att konfigurera behörigheter på ditt Linux-system. Du kan också använda kommandot useradd för att ställa in användare och gruppanvändare.




