Af: Gunner Poulsen
Man kommer nemt i den situation at man gerne vil have flere GNU/Linuxmaskiner i sit netværk. Måske finder man det smart at dele sine serverprogrammer, så en maskine tager sig af tjenester der skal bruges internt på skolen (fx samba og NFS) og en tager sig af dem der retter sig mod omverdenen (fx Web og mail). Måske vil man sætte nogle maskiner op som Linuxarbejdsstationer evt. som tynde klienter.
I alle tilfælde har man en interesse i at alle maskiner kan dele de samme brugernavne og adgangs koder overalt i netværket, og man er interesseret i at brugernes hjemmemappe og opsætningsfiler i /home/ er ens på alle maskiner. Spårgsmålene melder sig altså: Hvordan undgår jeg at skulle oprette brugerne igen på de andre maskiner? og Hvordan kan jeg sikre at brugernes dokumenter og opsætning følger dem rundt?
Svaret er let nok og overkommeligt at sætte op. For at dele brugernavnene skal du bruge NIS og hjemmebibliotekerne skal deles med NFS.
Opsætningen af NIS og NFS er også behandlet i vores "søsterbog": Linux - friheden til systemadministration!
At få sine maskiner til at hente brugernavne og adgangskoder på en maskine er en nødvendighed, hvis man får flere servere, eller hvis man begynder at arbejde med GNU/Linuxmaskiner som arbejdsstationer.
Programmet man skal bruge som server program hedder NIS (Network Information Service), men de RPM'er det kommer i hedder YP. Dette rod har historiske forklaringer (Noget med copyright i England), men bare man ved det er det ok.
NIS er en gammel kending i Unix-netværk og fungerer ved at lave en database over indholdet af forskellige filer i /etc/ fx /etc/password og /etc/groups. andre cimputere kan så bruge denne database til fx at hente brugernavne og adgangskoder på brugere der ikke står i deres egen /etc/password fil. Nis kan vist nok også bruges til andet, men brugergodkendelse er det mest oplagte at starte med.
Der findes andre måder at dele brugernavne og adgangskoder mellem GNU/Linuxmaskiner fx LDAP, men NIS ved vi virker, og den er simpel at sætte op.
Nå - til fadet. For at installere NIS skal du i RedHat 7.1 installere pakkerne ypserv-1.3.11-13.i386.rpm og yp-tools-2.4-7.i386.rpm, ved at stille dig i det katalog de ligger i og køre:
[root@gnuskole /root]# rpm -Uvh ypserv* yp-tools* |
Så skal du tilrette /var/yp/Makefile. Ændr den så der står: (Eksempelfil her.)
MERGE_GROUP=false |
Og sæt # foran:
#GSHADOW = $(YPPWDDIR)/gshadow© |
Dernæst skal du begrænse brugen af din NIS-server til skolens eget netværk. Ellers gør du det for nemt for Sorte Pingvin og de andre crackere.
Åbn filen /var/yp/securenets i en teksteditor.
Indsæt netmasker og IP-adresserne på de netværk du har fået fra Sektornet. Syntaksen er: (Eksempelfil her.)
#Netmaske netværkets ip-adresse 255.0.0.0 127.0.0.0 255.255.255.240 195.181.35.xxx 255.255.255.248 195.181.3.xxx 255.255.255.240 195.181.3.xxx 255.255.255.248 195.181.3.xxx |
Så skal du næsten i gang med det spændende. Først skal du dog finde på et navn til dit NIS-domænenavn. Vi vil i der følgende kalde det gnu-undervisning.
Sæt domænet midlertidigt med:
[root@gnuskole /root]# domainname gnu-undervisning |
Og sæt det permanent ved at tilføje:
NISDOMAIN=gnu-undervisning |
til filen /etc/sysconfig/network.
Nu er du klar til at bygge NIS-databasen og starte NIS. Det gøres med følgende kommandoer:
[root@gnuskole /root]# cd /var/yp [root@gnuskole /root]# make (Studer outputtet nøje for fejlmeddelelser). [root@gnuskole /root]# /etc/init.d/ypserv restart |
Hvis det ser fint ud så sæt din maskine til permanent at være NIS-server med:
[root@gnuskole /root]# /sbin/chkconfig ypserv on [root@gnuskole /root]# /sbin/chkconfig yppasswdd on |
Det var det. Se flere detaljer i Friheden til systemadministration.
Under installationen af RedHat bliver man spurgt om man vil bruge NIS til adgangskoder, sig JA her og indsæt serverens DNS-navn eller IP-adresse og dit NIS-domænenavn "gnu-undervisning".
Så virker det.
Hvis du allerede har installeret maskinen, skal du lige installere RPM'en ypbind-1.7-6.i386.rpm (I RH 7.1) ved at stille dig i det katalog hvor den ligger og skrive:
[root@gnuskole /root]# rpm -Uvh ypbind-*rpm |
Så skal du skrive:
NISDOMAIN=gnu-undervisning (eller hvad du nu kaldte dit domæne) |
i filen /etc/sysconfig/network.
Og i filen /etc/yp.conf skal kun stå.
ypserver www.gnuskole.dk |
Hvis det er det serveren hedder. Se eksempelfil.
Denne måde at angive NIS-serveren kræver at man også skriver serveren ind i/etc/hosts som
195.181.35.xxx www.gnuskole.dk #(Skriv din NIS-servers faktiske ip-adresse og dns-navn). |
Men det giver nu i alle tilfælde den største stabilitet.
Kør kommandoen:
[root@gnuskole /root]# /etc/init.d/ypbind restart |
For at se at alt virker, og gør så brugen af NIS permanent med:
[root@gnuskole /root]# /sbin/chkconfig ypbind on |