Klienter: Skillnad mellan sidversioner
Kaj (diskussion | bidrag) |
Stellanl (diskussion | bidrag) Bättre råd |
||
| (12 mellanliggande sidversioner av 3 användare visas inte) | |||
| Rad 1: | Rad 1: | ||
Stacken har i dag tre | Stacken har i dag tre klienter (datorer) i lokalen. georg-scheutz, edvard-scheutz (båda PC) och hallonpag (RPi 5B). | ||
== Sätt upp en maskin i Stackens miljö == | == Sätt upp en maskin i Stackens miljö == | ||
| Rad 18: | Rad 18: | ||
$ sudo apt-get install openafs-client openafs-modules-dkms | $ sudo apt-get install openafs-client openafs-modules-dkms | ||
(stacken.kth.se, 5G cache) | (stacken.kth.se, 5G cache!) | ||
$ sudo apt-get install heimdal-clients | $ sudo apt-get install heimdal-clients | ||
(STACKEN.KTH.SE) | (STACKEN.KTH.SE) | ||
| Rad 32: | Rad 32: | ||
Vi behöver libnss-db för att hantera en användardatabas (utan lösenord) på lämpligt vis, libpam-krb5 för att kunna autenticera mot kerberos, och openafs-krb5 för att få afstokens vid inloggning. | Vi behöver libnss-db för att hantera en användardatabas (utan lösenord) på lämpligt vis, libpam-krb5 för att kunna autenticera mot kerberos, och openafs-krb5 för att få afstokens vid inloggning. | ||
$ sudo apt-get install libnss-db libpam-krb5 openafs-krb5 | $ sudo apt-get install libnss-db libpam-krb5 openafs-krb5 libpam-afs-session | ||
==== passwd ==== | ==== passwd ==== | ||
| Rad 41: | Rad 41: | ||
$ sudo ln -s /afs/stacken.kth.se/i386_linux6/etc/cron.hourly/update-stacken-passwd-db-deb | $ sudo ln -s /afs/stacken.kth.se/i386_linux6/etc/cron.hourly/update-stacken-passwd-db-deb | ||
Vi använder oss av | Vi använder oss av libnss-db för att bygga en databas av passwd- och shadow-filerna. Då våra stacken-filer inte ligger på det vanliga stället i /etc/ så måste vi uppdatera lite i en konfigurationsfil. | ||
$ sudo $EDITOR /etc/default/libnss-db | $ sudo $EDITOR /etc/default/libnss-db | ||
| Rad 110: | Rad 110: | ||
# GSSAPIStrictAcceptorCheck ?? | # GSSAPIStrictAcceptorCheck ?? | ||
Fixa långt hostname i filen och verkligheten | |||
Stoppa in datan i HOSTS.TXT och fixa DNS och DHCP | |||
Stoppa in reversuppslagningen i /etc/hosts (optional) | |||
sudo ktutil get -p $USER/admin -r STACKEN.KTH.SE host/`hostname` | |||
/etc/init.d/sshd start | /etc/init.d/sshd start | ||
Gjort på edvard, todo på georg. | Gjort på edvard, todo på georg. | ||
=== Raspberry Pi OS === | |||
Rekommenderas: release Trixie (kom 2025-11) eller senare för att afs ska fungera utan extra handpåläggning. | |||
==== Installation ==== | |||
En standardinstallation. (Om man kör med M.2-SSD måste man boota från ett SD-kort först, sen köra RPi Imager för att bygga ett system på SSD:n.) | |||
Skapa standardanvändaren som "stacken" istf "pi". Låt maskinen boota till desktop, auto-inloggad tills vidare. | |||
Följ installationsanvisningarna för Ubuntu fram till "sshd GSSAPIKeyExchange". | |||
=== koppla sshd till GSSAPIKeyExchange === | |||
Använd raspi-config (kommandorad) eller Start->Preferences->Control Center->Interfaces (desktop) för att slå på ssh. | |||
sudo systemctl stop sshd | |||
Skapa vår config som en separat fil, så överlever den uppgraderingar: | |||
sudo nano /etc/ssh/sshd_config.d/stacken.conf | |||
som ska innehålla: | |||
PasswordAuthentication no | |||
GSSAPIAuthentication yes | |||
GSSAPIKeyExchange yes | |||
GSSAPICleanupCredentials no | |||
GSSAPIStrictAcceptorCheck no | |||
Starta om servern: | |||
sudo systemctl start sshd | |||
=== Konsekvenser av AFS === | |||
Tidigt i Trixies livstid kom en uppdatering av paketet '''wfplug-connect''' (den kontrollpanel som hör ihop med "Raspberry Pi Connect"). | |||
Den misslyckades att installera, då dess postinstall-script försökte loopa över alla användares hemkataloger och "reparera" en configfil om den fanns. Med hemkatalogerna i afs så får inte ens root göra så. Eftersom den var ett krav för metapaketet wayland-core så blev det stopp. | |||
Snabblösningen var att kortsluta scriptet, /var/lib/dpkg/info/wfplug-connect.postinst genom att sätta in en rad, "exit 0" i början, och köra om "apt install upgrade". | |||
Nuvarande version från 4 december 2025 kl. 18.57
Stacken har i dag tre klienter (datorer) i lokalen. georg-scheutz, edvard-scheutz (båda PC) och hallonpag (RPi 5B).
Sätt upp en maskin i Stackens miljö
Ubuntu
I dag är det georg-scheutz samt edvard-scheutz som kör Ubuntu / Mint. Här kommer en genomgång av vad som är gjort på dem.
Installation
En standardinstallation med swap och /, inga konstigheter. Maskinen dual-bootar Windows. En stacken-användare är skapad och är administratör (rättigheter att köra sudo).
Installera några viktiga program för att folks login skall funka
$ sudo apt-get install tcsh twm zsh
Installera afs och kerberos
$ sudo apt-get install openafs-client openafs-modules-dkms (stacken.kth.se, 5G cache!) $ sudo apt-get install heimdal-clients (STACKEN.KTH.SE)
Efter det bör du ha fungerande afs och kerberos på maskinen. Eventuellt kanske vi på sikt kan byta ut den lite "trasiga" versionen av heimdal till habas debian/ubuntu-rep. Men det som finns nu funkar.
Syns det inga filer i /afs så starta openafs med:
$ sudo service openafs-client start
Inloggning med stackens användare
Vi behöver libnss-db för att hantera en användardatabas (utan lösenord) på lämpligt vis, libpam-krb5 för att kunna autenticera mot kerberos, och openafs-krb5 för att få afstokens vid inloggning.
$ sudo apt-get install libnss-db libpam-krb5 openafs-krb5 libpam-afs-session
passwd
Det finns ett cron-jobb som hämtar stackens passwd, konventerar den till ett format som passar linux och skapar /etc/stacken/passwd samt /etc/stacken/shadow. shadow är en dummy-fil och innehåller inga hashar.
$ cd /etc/cron.hourly/ $ sudo ln -s /afs/stacken.kth.se/i386_linux6/etc/cron.hourly/update-stacken-passwd-db-deb
Vi använder oss av libnss-db för att bygga en databas av passwd- och shadow-filerna. Då våra stacken-filer inte ligger på det vanliga stället i /etc/ så måste vi uppdatera lite i en konfigurationsfil.
$ sudo $EDITOR /etc/default/libnss-db
Ändra till följande rader
ETC = /etc/stacken DBS = passwd shadow
Det som är kvar nu är att ändra så att vi använder våra nya filer.
$ sudo $EDITOR /etc/nsswitch.conf
Lägg till "db" i slutet på passwd och shadow-raden.
passwd: compat db shadow: compat db
Du bör nu kunna testa att det funkar genom att manuellt köra /etc/cron.hourly/update-stacken-passwd-db-deb som root.
$ sudo /etc/cron.hourly/update-stacken-passwd-db-deb
Du kan testa att du kan hämta en användare med
$ getent passwd USERNAME
Kerberos auth
Det finns en sak kvar, då vår shadow-fil inte innehöll lösenordshasharna så går det inte att logga in med våra användare än. Det som finns kvar att göra är att använda libpam-krb5 för inloggning.
$ sudo $EDITOR /etc/pam.d/common-auth
Lägg till följande rad överst:
auth sufficient pam_krb5.so ccache=/tmp/krb5cc_%u # Finns det nån config som gör att den där PAM modulen kollar keytabben innan den släpper in folk?
Låt /etc/site vara en symlänk som pekar in i afs. site innehåller diverse filer som t.ex. bash_profile.
$ sudo ln -s /afs/stacken.kth.se/common/etc/site /etc/site
Det bör räcka för att du ska kunna logga in i en terminal, ssh.
Om det inte funkar att logga in i X
Kör bara det här om det inte funkar att logga in (få biljetter) från inlogg i X.
$ sudo $EDITOR /etc/gdm/Xsession
Lägg till följande rad på valfritt lämpligt ställe
$ . /afs/stacken.kth.se/common/etc/GdmAfsTokensDefault
Det är ett litet ful-hack som kör afslog.
sshd GSSAPIKeyExchange
sudo apt-get install openssh-server sudo rm /etc/ssh/*key* # de behövs ju inte sudo /etc/init.d/ssh stop
Lägg till / korrigera följande options i /etc/ssh/sshd_config och stäng av password login:
PasswordAuthentication no GSSAPIAuthentication yes GSSAPIKeyExchange yes GSSAPICleanupCredentials yes # GSSAPIStrictAcceptorCheck ??
Fixa långt hostname i filen och verkligheten
Stoppa in datan i HOSTS.TXT och fixa DNS och DHCP
Stoppa in reversuppslagningen i /etc/hosts (optional)
sudo ktutil get -p $USER/admin -r STACKEN.KTH.SE host/`hostname`
/etc/init.d/sshd start
Gjort på edvard, todo på georg.
Raspberry Pi OS
Rekommenderas: release Trixie (kom 2025-11) eller senare för att afs ska fungera utan extra handpåläggning.
Installation
En standardinstallation. (Om man kör med M.2-SSD måste man boota från ett SD-kort först, sen köra RPi Imager för att bygga ett system på SSD:n.) Skapa standardanvändaren som "stacken" istf "pi". Låt maskinen boota till desktop, auto-inloggad tills vidare.
Följ installationsanvisningarna för Ubuntu fram till "sshd GSSAPIKeyExchange".
koppla sshd till GSSAPIKeyExchange
Använd raspi-config (kommandorad) eller Start->Preferences->Control Center->Interfaces (desktop) för att slå på ssh.
sudo systemctl stop sshd
Skapa vår config som en separat fil, så överlever den uppgraderingar:
sudo nano /etc/ssh/sshd_config.d/stacken.conf
som ska innehålla:
PasswordAuthentication no GSSAPIAuthentication yes GSSAPIKeyExchange yes GSSAPICleanupCredentials no GSSAPIStrictAcceptorCheck no
Starta om servern:
sudo systemctl start sshd
Konsekvenser av AFS
Tidigt i Trixies livstid kom en uppdatering av paketet wfplug-connect (den kontrollpanel som hör ihop med "Raspberry Pi Connect"). Den misslyckades att installera, då dess postinstall-script försökte loopa över alla användares hemkataloger och "reparera" en configfil om den fanns. Med hemkatalogerna i afs så får inte ens root göra så. Eftersom den var ett krav för metapaketet wayland-core så blev det stopp.
Snabblösningen var att kortsluta scriptet, /var/lib/dpkg/info/wfplug-connect.postinst genom att sätta in en rad, "exit 0" i början, och köra om "apt install upgrade".