Denne vejledning viser dig, hvordan du administrerer grupper ved hjælp af gpasswd-kommandoen. Hver fil og mappe i Linux har bruger-, gruppe- og ejerrettigheder. Ved at kontrollere, hvem der har adgang til en gruppe, kan du kontrollere, hvad der sker med filer og mapper på dit system uden at skulle indstille tilladelser for hver bruger.
Lidt lidt om tilladelser
Åbn en terminal og i din hjemmemappe oprette en mappe kaldet konti ved hjælp af kommandoen mkdir som følger:
mkdir-konti
Kør nu kommandoen ls som vil vise dig tilladelserne til den mappe, du netop har oprettet.
ls-lt
Du vil se noget som dette:
drwxr-xr-x 2 brugernavn din navn 4096 dato konti
De bits, vi er interesseret i, er de tilladelser, som i ovenstående eksempel er "drwxr-xr-x". Vi er også interesserede i de 2 "yourname" værdier.
Lad os tale om tilladelserne først. "D" står for bibliotek og fortæller os, at konti er en mappe.
Resten af tilladelserne er opdelt i 3 sektioner: "rwx", "r-x", "r-x". Den første sektion på 3 tegn er de tilladelser, som ejeren af et objekt har. Den anden sektion på 3 tegn er tilladelserne, at enhver, der tilhører gruppen, og endelig er det sidste afsnit tilladelserne, som alle andre har.
"R" står for "read", "w" står for "write" og "x" står for "execute".
Derfor har ejeren i afsnittet ovenfor læst, skrevet og udført tilladelser til konto mappen, mens gruppen og alle andre kun har læst og udfører tilladelser.
I eksemplet er det første "brugernavn" ejeren af elementet, og det andet "brugernavn" er den primære gruppe til konto mappen.
For at gøre denne vejledning mere nyttig tilføj et par flere konti til dit system ved hjælp af følgende adduser-kommandoer:
sudo adduser tim
sudo adduser tom
Du bliver bedt om at angive et kodeord for hver af dem og indtaste andre oplysninger. Du kan komme væk med bare adgangskoden og returnere gennem resten af felterne.
Nu hvor du har 3 konti, kør følgende kommando for at ændre ejeren af din kontos mappe.
sudo chown tom konti
Kør nu kommandoen ls igen.
ls-lt
Tilladelserne vil nu være som følger:
drwxr-xr-x tom din navn
Du vil kunne navigere i konto mappen ved hjælp af cd-kommandoen som følger:
cd-konti
Prøv nu at oprette en fil ved hjælp af følgende kommando:
touch test
Du får følgende fejl:
touch: kan ikke røre 'test': Tilladelse afvist
Årsagen til dette er, at Tom er ejeren og har læst, skrevet og udført tilladelser, men du er kun en del af gruppen, og du har kun gruppetilladelser.
Naviger tilbage til startmappen og ændrer tilladelserne til konti ved at skrive følgende kommandoer:
cd ..
sudo chmod 750 konti
Kør nu kommandoen ls igen:
ls-lt
Tilladelserne til konto mappen vil nu være som følger:
drwxr-x ---
Det betyder, at ejeren har fulde tilladelser, brugere med gruppen "dit navn" vil have læst og udføre tilladelser, og alle andre vil ikke have tilladelser.
Prøve det. Naviger til konto mappen og kør berøringskommandoen igen:
cd-konti
touch test
Du har stadig tilladelserne til at navigere til mappen, men har ikke tilladelserne til at oprette filer. Hvis du bare var en normal bruger, kan du ikke engang komme ind i konto mappen.
For at prøve dette ud skifter du til brugeren Tim og navigerer til konto mappen som følger:
su - tim
cd / hjem / brugernavn / konti
Du får en tilladelse afvist fejl.
Så hvorfor bruge gruppetilladelser og ikke indstille individuelle tilladelser for alle brugere? Hvis du har en kontoop afdeling, som alle skal have adgang til bestemte regneark og dokumenter, men ingen andre i virksomheden skal i stedet for at indstille tilladelserne til alle mennesker i konti, kan du indstille tilladelserne til mappen til en gruppe kaldet konti og derefter Tilføj brugerne til gruppen.
Hvorfor er det bedre end at indstille individuelle brugerrettigheder? Hvis en bruger forlader afdelingen, kan du bare fjerne dem fra gruppen i modsætning til at udarbejde deres tilladelser på en række mapper.
Sådan opretter du en gruppe
Du kan bruge følgende kommando til at oprette en gruppe:
Sådan tilføjer du en bruger til en gruppe
sudo gpasswd -a brugernavn konti
Ovennævnte kommando kan bruges til at tilføje en enkelt bruger til kontogruppen.
For at tilføje en liste over brugere som medlemmer af gruppen, kør følgende kommando:
sudo gpassword -M dit navn, tom, tim konti
Når en bruger er blevet tilføjet til en konto, kan brugeren tilføje gruppen til deres liste over sekundære grupper ved at køre følgende kommando:
newgrp konti
Enhver bruger, der ikke tilhører gruppen, bliver bedt om at indtaste gruppens adgangskode.
Sådan ændres den primære gruppe til en mappe
Nu, hvor vi har en gruppe med en bruger, kan du tildele gruppen til konto mappen ved hjælp af følgende chgrp kommando:
sudo chgrp konti konti
De første konti er navnet på gruppen, og det andet konti er navnet på mappen.
Sådan kontrolleres, om en bruger tilhører en gruppe
Du kan tjekke om en bruger tilhører en gruppe ved at køre følgende kommando:
grupper
Dette vil returnere listen over grupper, som en bruger tilhører.
Sådan ændres gruppens adgangskode
For at ændre gruppens adgangskode kan du køre følgende kommando:
sudo gpasswd
Du bliver bedt om at indtaste et kodeord for gruppen og gentage det.
Nu kan du tilføje brugere til en gruppe på den måde, der er angivet ovenfor, eller en ny bruger kan deltage i gruppen ved blot at køre følgende kommando og levere den korrekte adgangskode:
newgrp
Selvfølgelig vil du ikke give gruppens adgangskode til nogen, så det er bedre at tilføje brugeren til gruppen selv.
Sådan begrænser du grupper til kun de angivne medlemmer
Hvis du ikke vil have nogen, der bare kender adgangskoden til at deltage i en gruppe, kan du køre følgende kommando:
Angiv en bruger som administrator
Du kan indstille brugere som administrator af en gruppe. Dette giver brugeren mulighed for at tilføje og fjerne brugere fra en bestemt gruppe samt ændre adgangskoden
For at gøre dette køre følgende kommando:
Sådan fjerner du et gruppeadgangskode
Du kan fjerne adgangskoden fra en gruppe ved at bruge følgende kommando:
Sådan slettes en bruger fra gruppen
For at slette en bruger fra gruppen, kør følgende kommando:
Sådan giver du en gruppe Læs, skriv og udfør tilladelser på en fil eller mappe
Indtil nu har brugere i kontogruppen adgang til konto mappen, men de kan virkelig gøre noget, fordi de kun har læst og udfører tilladelser.
For at give skrive tilladelser til gruppen kan du køre følgende kommando:
Resumé
Denne vejledning har introduceret nogle få kommandoer til at hjælpe dig med at oprette tilladelser på dit Linux-system. Du kan også bruge kommandoen useradd til at konfigurere brugere og gruppebrugere.