Begrense innlogging

Fra GNUskole
Hopp til: navigasjon, søk

Begrense innlogging

Har man flere terminaltjenere i et nettverk ønsker man gjerne at en eller flere av disse er dedikert en gruppe personer. For en skole kan det være aktuelt at en terminaltjener er forbeholdt lærere, eller at en helt egen gruppe personer er de eneste som skal få logge på en tjener. Slike begrensinger kan være fornuftig hvis man for eksempel ønsker å ha ulik programvare innstallert eller man ønsker å fordele maskinvareressurser på en bestemt måte.

Endringer på NIS-tjeneren

På maskinen som kjører som NIS-tjener ("NIS master") må man definere de ulike gruppene av personer. Det gjøres i filen /etc/netgroup. Se manualsidene for netgroup for detaljer ved å gi kommandoen man netgroup. Hvis ikke filen finnes fra før oppretter du den, og legger inn noe a la:

badbgirls (,elev01,) (,elev02,) (,karen,)
goodboys  (,elev21,) (,elev13,) (,kalle,)

Vi har da laget en nettgruppe som heter "badgirls", og i denne er brukerne elev01, elev02 og karen med. Vi har også en nettgruppe som heter goodboys med elev21, elev13 og kalle. For å distribuere nettgruppene til NIS-klientene må man gå til /var/yp og gi kommandoen make:

[root@filtjener ~]# cd /var/yp
[root@filtjener yp]# make
gmake[1]: Entering directory `/var/yp/nisdomenenavn'
Updating netid.byname...
Updating netgroup...
Updating netgroup.byhost...
Updating netgroup.byuser...

Endringer på NIS-klienten

Filen /etc/nsswitch.conf må inneholde følgende:

passwd:     compat
shadow:     compat

passwd_compat: nis files
shadow_compat: nis files

Her må oppføringene for passwd og shadow sannsynligvis endres (det står muligens "files nis" der fra før), og oppføringene for passwd_compat og shadow_compat legges til.

Nederst i /etc/passwd og /etc/shadow kan det så legges restriksjoner. Merk at alt som legges til i /etc/passwd også må legges inn nederst i /etc/shadow.

Ønsker man at gruppen badgirls ikke skal kunne logge inn på maskinen, legger man inn

-@badgirls
+

nederst i /etc/passwd og /etc/shadow. Den første linjen hindrer medlemmer av nettgruppen "badgirls" å logge på, mens plusstegnet helt til slutt tillater alle andre å logge på. Merk at filene leses ovenfra og ned, slik at rekkefølgen på reglene spiller en rolle.

Har vi en maskin der bare goodboys-medlemmer skal få logge på kan vi nederst i /etc/passwd og /etc/shadow legge

+@goodboys
-

Merk at minustegnet strengt tatt ikke er nødvendig siden det ikke gis tilgang med mindre det finnes et treff i passord og skyggefilene.

Bruk av nettgrupper

Nettgrupper kan også inneholde maskiner og domener i tillegg til brukere. Generelt er skrivemåten for et medlem (maskin, bruker, domene), så i våre eksempler har vi bare meldt brukeren inn i nettgrupper. Man kan også ha grupper av maskiner (og domener), som gjør at man for eksempel enkelt kan hindre innlogging fra gruppen "elevmaskiner".

Nettgrupper kan også inneholde andre nettgrupper, så man kan gjøre noe a-la

avd1     (,per,) (,kari,) (,trine,)
avd2     (,nora,) (,nils,)
ledelsen (,sjefen,) (,nestsjefen,)

ansatte  avd1 avd2
alle     ansatte ledelsen

Her har vi laget en nettgruppe for ledelsen, og en for hver avdeling. Videre har vi laget en ansatt-gruppe av avd1 og avd2, og en "alle"-gruppe. Ansatte i avd1 og avd2 kan dermed enkelt ekskluderes fra ledelsens terminaltjener med

-ansatte
+ledelsen

nederst i /etc/passwd og /etc/shadow.

Inneholder nettgruppene mange brukere og/eller maskiner og/eller domener blir ting ofte uoversiktlig. Dessuten har hver gruppe en begrensning på antall tegn den kan inneholde. Dette kan vi komme rundt med å lage undergrupper:

avd1a     (,per,) (,kari,) (,trine,) (,jens,) (,ola,) \
          (,knut,) (,nils,) (,espen,)
avd1b     (,rigmor,) (steve,) (,gjest01,) (,gjest02,) \
          (,gjest03,) (,gjest04,) (,gjest05,)
avd1      avd1a avd1b

Nettgruppen avd1 inneholder nå alle brukerne definert i avd1a og avd1b. Tegnet "\" på slutten av linjene betyr at listen fortsetter på neste linje.