Klienter: Skillnad mellan sidversioner

Från stackenwiki
Hoppa till navigering Hoppa till sök
Bättre råd
 
(4 mellanliggande sidversioner av samma användare visas inte)
Rad 133: Rad 133:


=== koppla sshd till GSSAPIKeyExchange ===
=== koppla sshd till GSSAPIKeyExchange ===
Använd raspi-config (kommandorad) eller Start->Preferences->Control Center->Interfaces (desktop) för att slå på ssh.


sudo apt-get install openssh-server
sudo rm /etc/ssh/*key* # de behövs inte
  sudo systemctl stop sshd
  sudo systemctl stop sshd


Rad 147: Rad 146:
  GSSAPIAuthentication yes
  GSSAPIAuthentication yes
  GSSAPIKeyExchange yes
  GSSAPIKeyExchange yes
  GSSAPICleanupCredentials yes
  GSSAPICleanupCredentials no
GSSAPIStrictAcceptorCheck no


   
Starta om servern:
 
  sudo systemctl start sshd


=== Konsekvenser av AFS ===
=== Konsekvenser av AFS ===


Tidigt i Trixies livstid kom en uppdatering av wf-plug-connect (den kontrollpanel som hör ihop med "Raspberry Pi Connect").
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.
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".
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".