Rootmanual:Lysatorfiera en dator

Från Lysators datorhandbok, den ultimata referensen.
Version från den 30 april 2006 kl. 14.58 av Creideiki (diskussion | bidrag) (Syslog till Hoover)
Hoppa till navigering Hoppa till sök


Nätverk

IP-adress 130.236.254.x
Nätmask 255.255.255.0 (/24)
Gateway 130.236.254.1
Namnserver 130.236.254.2 (ns-master)
Namnserver 130.236.254.4 (ns-slave)
DNS-domän lysator.liu.se

/etc/hosts:

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

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

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

Automontering

Mapar kommer ur NIS. Solaris kan plocka all nödvändig information ur mapen 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

/pkg/local kommer att monteras från katalogen inservitus:/export/d3/local/${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

/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 inservitus:/export/d3 ligger alla katalogen som kan monteras som /pkg/local. De pekas ut av symlänkar från inservitus:/export/d3/local/${CPU}-${OSNAME}-${OSREL}. Exempel: Beatrix har plattformen sparc64-Linux-gentoo_unstable. Den monterar alltså inservitus:/export/d3/local/sparc64-Linux-gentoo_unstable/pkg/local. inservitus:/export/d3/local/sparc64-Linux-gentoo_unstable är sedan en symlänk till inservitus:/export/d3/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.

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 hoover { udp("loghost.lysator.liu.se" port(514)); };
log { source(src); destination(messages); };
log { source(src); destination(hoover); };