Rootmanual:Lysatorfiera en dator

Från Lysators datorhandbok, den ultimata referensen.
Version från den 29 maj 2008 kl. 13.33 av Derfian (diskussion | bidrag) (Dö, inservitus!)
Hoppa till navigering Hoppa till sök


Nätverk

IPv4-adress 130.236.254.x
IPv4-nätmask 255.255.255.0 (/24)
IPv4-gateway 130.236.254.1
IPv6-adress 2001:6b0:17:f0a0::x (samma sista oktett som i IPv4-adressen)
IPv6 prefixlängd 64
Namnserver 130.236.254.2 (ns-master)
Namnserver 130.236.254.4 (ns-slave)
DNS-domän lysator.liu.se

/etc/hosts: (och/eller /etc/inet/ipnodes på tillräckligt nya Solaris-burkar)

130.236.254.1   liunet-gw.lysator.liu.se        liunet-gw
130.236.254.2   ns-master.lysator.liu.se        ns-master
130.236.254.4   ns-slave.lysator.liu.se         ns-slave
130.236.254.25  hoover.lysator.liu.se           hoover loghost
130.236.254.125 as-master.lysator.liu.se        as-master
130.236.254.126 as-slave.lysator.liu.se         as-slave

För icke-lysator datorer bör åtminstone dessa rader finnas:

130.236.254.1   liunet-gw.lysator.liu.se        liunet-gw
130.236.254.2   ns-master.lysator.liu.se        ns-master
130.236.254.4   ns-slave.lysator.liu.se         ns-slave
130.236.254.25  hoover.lysator.liu.se           hoover loghost

NTP

Vi har tre NTP-servrar:

ntp1.lysator.liu.se
ntp2.lysator.liu.se
ntp3.lysator.liu.se

Dessa kan man t.ex. prata med genom att skriva en /etc/ntp.conf som ser ut så här:

server ntp1.lysator.liu.se iburst
server ntp2.lysator.liu.se iburst
server ntp3.lysator.liu.se iburst
logfile         /var/log/ntp.log
driftfile       /var/lib/ntp/ntp.drift
restrict default nomodify nopeer

NIS

domän lysator
server ns-master.lysator.liu.se
server ns-slave.lysator.liu.se

Som exempel är här /etc/yp.conf från Beatrix:

domain lysator server ns-master.lysator.liu.se
domain lysator server ns-slave.lysator.liu.se

För att saker faktiskt skall läsas från NIS också krävs det att det står så i /etc/nsswitch.conf också. T.ex. så här:

passwd:     files nis
shadow:     files
group:      files nis
netgroup:   nis
automount:  files nis

Bygger du en tjänsteserver där bara root får logga in vill du istället ha:

passwd:     compat

och lägga till följande rader sist i /etc/passwd:

+@root:x::::/roots:
+:x:::::/bin/nologin

Kerberos

realm LYSATOR.LIU.SE
KDC as-master.lysator.liu.se
KDC as-slave.lysator.liu.se
adminserver as-master.lysator.liu.se

Detta skall antagligen skrivas in i /etc/krb5.conf (MIT-Kerberos på Linux) eller /etc/krb5/krb5.conf (Sun-Kerberos på Nexenta). Som exempel kan en sådan fil se ut så här (från Beatrix):

[libdefaults]
        default_realm = LYSATOR.LIU.SE

[realms]
        LYSATOR.LIU.SE = {
                kdc = as-master.lysator.liu.se
                kdc = as-slave.lysator.liu.se
                admin_server = as-master.lysator.liu.se
        }

[domain_realm]
        .lysator.liu.se = LYSATOR.LIU.SE

[logging]
        kdc = FILE:/var/log/krb5kdc.log
        admin_server = FILE:/var/log/kadmin.log
        default = FILE:/var/log/krb5lib.log
        kdc_rotate = {
                period = 1d
                version = 10
        }

[appdefaults]
        kinit = {
                renewable = true
                forwardable = true
        }

För att Kerberos skall fungera behövs en host-principal som datorn skall känna till nyckeln till. Den skapar man på den nya datorn så här (enligt inlägg 13295428) om man är root och har en admin-principal:

kadmin -p $USER/admin
<lösenord>
addprinc -randkey host/$HOST.lysator.liu.se
ktadd host/$HOST.lysator.liu.se
quit

PAM

För att faktiskt använda Kerberos behöver slå på det i PAM-konfigurationen. Se till att man kan logga in med både /etc/passwd och Kerberos, eftersom roots lösenord står i /etc/passwd och måste fungera även utan nätverk.

Ett exempel på PAM-konfiguration, från /etc/pam.d/system-authBeatrix:

#%PAM-1.0

auth       required     pam_env.so
auth       sufficient   pam_unix.so likeauth nullok
auth       sufficient   pam_krb5.so use_first_pass minimum_uid=100
auth       required     pam_deny.so

account    sufficient   pam_krb5.so minimum_uid=100
account    sufficient   pam_unix.so

password   required     pam_cracklib.so retry=3
password   sufficient   pam_krb5.so minimum_uid=100
password   sufficient   pam_unix.so nullok md5 shadow use_authtok
password   required     pam_deny.so

session    required     pam_limits.so
session    required     pam_krb5.so minimum_uid=100
session    sufficient   pam_unix.so

pam_krb5 av versioner högre än 1.0 har haft problem att prata med vår Sun-Kerberos. Om det inte går att logga in, pröva att nedgradera.

Automontering

Mapar kommer ur NIS. Solaris kan plocka all nödvändig information ur mapen auto_master om /etc/auto.master innehåller +auto_master, medan Linux verkar behöva en lokal /etc/autofs/auto.master som innehåller:

Map Monteringspunkt
auto_lysator /mp
auto_home /home
auto_pkg /pkg

Dessutom skall det, av historiska skäl, finnas en symlänk /lysator -> /mp/lysator.

/pkg/local kommer att monteras från katalogen pkg-host:/export/pkg/${CPU}-${OSNAME}-${OSREL}, och de variablerna kan få lustiga värden som standard, så de kan behöva sättas för hand. Titta i loggarna efter vad den faktiskt försökte montera och misslyckades med.

Som exempel är här /etc/autofs/auto.master från Beatrix:

/home   yp:auto_home    nosuid,nodev
/mp     yp:auto_lysator nosuid,nodev
/pkg    yp:auto_pkg     nosuid,nodev -DOSREL=gentoo_unstable

För att den nya datorn skall få prata NFS krävs även att den är medlem i netgroupen lysator. För att uppdatera netgroups i NIS:

  • Logga in på ns-master som root.
  • Sätt PATH till /lysator/bin:/usr/ccs/bin:$PATH.
  • Gå till /lysator/etc/nis/db/.
  • Checka ut netgroup: co -l netgroup
  • Lägg till en rad i filen för den nya datorn.
  • Checka in netgroup: ci -u netgroup
  • Gå till /lysator/etc/nis/.
  • Bygg om NIS-data: make

E-post finns i /mp/mail. För att program skall hitta den skapar man lämpligtvis en symlänk från /var/mail.

/pkg

/pkg installerar paket i /pkg/<paket>/<plattform>/<version>/ och upprätthåller en symlänkfarm från /pkg/local till dessa. /usr/local skall vara en symlänk till /pkg/local, och som sades i avsnittet om automontering ovan är denna unik för varje plattform. Om det redan finns en dator med samma plattform som den nyinstallerade, titta vilken /pkg/local den monterar, annars hitta på en egen.

I pkg-host:/export/pkg/ ligger alla katalogen som kan monteras som /pkg/local. De pekas ut av symlänkar från pkg-host:/export/pkg/local/${CPU}-${OSNAME}-${OSREL}. Exempel: Beatrix har plattformen sparc64-Linux-gentoo_unstable. Den monterar alltså pkg-host:/export/pkg/local/sparc64-Linux-gentoo_unstable/pkg/local. pkg-host:/export/pkg/local/sparc64-Linux-gentoo_unstable är sedan en symlänk till pkg-host:/export/pkg/local-sparc-gentoo_unstable, där det finns en symlänkfarm som pekar in i /pkg/<paket>/sparc-gentoo_unstable/<version>/.

Plattformsnamnet sparc-gentoo_unstable, som används i sökvägar under /pkg/<paket>, kommer från scriptet /pkg/pkgadmin/all/default/bin/pkgarch, som måste modifieras till att ge rätt utdata om en ny plattform kommer till.

Till slut, för att inte alla skall behöva lägga till /pkg/local i sin PATH skall det finnas en symlänk /usr/local -> /pkg/local.

Loggning

Syslog loggas över nätverk till Hoover. Detta kan t.ex. åstadkommas genom att konfigurera Syslog-NG så här i /etc/syslog-ng/syslog-ng.conf:

options {
        chain_hostnames(off);
        sync(0);
        stats(43200);
};
source src { unix-stream("/dev/log"); internal(); pipe("/proc/kmsg"); };
destination messages { file("/var/log/messages"); };
destination loghost { tcp("loghost.lysator.liu.se"); };
log { source(src); destination(messages); };
log { source(src); destination(loghost); };

Logga gärna via TCP, för att minska risken att meddelanden försvinner.

För vanlig syslog, åtminstone på linux så redigerar man /etc/syslog.conf så här:

*.debug             @loghost

syslogd brukar logga en "mark timestamp" periodiskt. Hur ofta kan variera. Vi övervakar med Nagios att det skrivs något till sysloggen från varje maskin tillräckligt ofta, så stäng inte av den här funktionen. En "mark timestamp" bör skickas minst en gång i timmen. Om datorn kör Solaris 10 eller något annat operativsystem som vägrar skicka "mark timestamps" till loghost kan du skapa ett crontabentry som gör det:

 17 * * * * /usr/bin/logger mark

(Välj en godtycklig siffra i stället för 17, så att inte alla datorer loggar ett mark exakt samtidigt.)

Mail

Maskiner ska normalt inte hantera mail lokalt. Om de gör det så ska de vara rätt konfigurerade. Vad som är rätt vid varje given tidpunkt frågar man i Root-mötet.

Andra maskiner ska låta mail.lysator.liu.se hantera dess mail. Mail som går till root på den lokala maskinen (så som cron-output) ska leveras till root+hostname@lysator.liu.se.

Om du vill att andra rötter ska slippa se de mailen, sätt upp ett alias för root+hostname på mailservern.