Difference between revisions of "Klienter"

(Inloggning med stackens användare)
 
(19 intermediate revisions by 6 users not shown)
Line 5: Line 5:
 
=== Ubuntu ===
 
=== Ubuntu ===
  
I dag är det georg-scheutz samt edvard-scheutz som kör Ubuntu. Här kommer en genomgång av vad som är gjort på dem.
+
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 ====
 
==== Installation ====
 
En standardinstallation med swap och /, inga konstigheter. Maskinen dual-bootar Windows.
 
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).
 
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 ====
 
==== Installera afs och kerberos ====
  
  $ sudo apt-get install openafs-client
+
  $ 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
Line 19: Line 23:
  
 
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.
 
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 <code>/afs</code> så starta openafs med:
 +
 +
$ sudo service openafs-client start
  
 
==== Inloggning med stackens användare ====
 
==== Inloggning med stackens användare ====
  
$ sudo apt-get install libnss-db
+
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 libpam-krb5
+
 
 +
  $ 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 <code>/etc/stacken/passwd</code> samt <code>/etc/stacken/shadow</code>. shadow är en dummy-fil och innehåller inga hashar.
 
Det finns ett cron-jobb som hämtar stackens passwd, konventerar den till ett format som passar linux och skapar <code>/etc/stacken/passwd</code> samt <code>/etc/stacken/shadow</code>. shadow är en dummy-fil och innehåller inga hashar.
  
 
  $ cd /etc/cron.hourly/
 
  $ cd /etc/cron.hourly/
  $ 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 libnns-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.
 
Vi använder oss av libnns-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.
  
  $EDITOR /etc/default/libnss-db
+
  $ sudo $EDITOR /etc/default/libnss-db
  
 
Ändra till följande rader
 
Ändra till följande rader
Line 40: Line 51:
 
Det som är kvar nu är att ändra så att vi använder våra nya filer.
 
Det som är kvar nu är att ändra så att vi använder våra nya filer.
  
  $EDITOR /etc/nsswitch.conf
+
  $ sudo $EDITOR /etc/nsswitch.conf
  
 
Lägg till "db" i slutet på passwd och shadow-raden.
 
Lägg till "db" i slutet på passwd och shadow-raden.
Line 47: Line 58:
 
  shadow:        compat db
 
  shadow:        compat db
  
Du bör nu kunna testa att det funkar genom att manuellt köra <code>/etc/cron.hourly/update-stacken-passwd-db-deb</code>.
+
Du bör nu kunna testa att det funkar genom att manuellt köra <code>/etc/cron.hourly/update-stacken-passwd-db-deb</code> som root.
  
  $ /etc/cron.hourly/update-stacken-passwd-db-deb
+
  $ sudo /etc/cron.hourly/update-stacken-passwd-db-deb
  
 
Du kan testa att du kan hämta en användare med
 
Du kan testa att du kan hämta en användare med
  
  getent passwd USERNAME
+
  $ 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.
 
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.
  
  $EDITOR /etc/pam.d/common-auth
+
  $ sudo $EDITOR /etc/pam.d/common-auth
  
 
Lägg till följande rad överst:
 
Lägg till följande rad överst:
  
 
  auth    sufficient      pam_krb5.so ccache=/tmp/krb5cc_%u
 
  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 ====
  
Det bör räcka för att du ska kunna logga in i en terminal, ssh. Av någon orsak så får du inte ut tokens när du loggar in med GDM (grafiskt, i X). Lösningen är att ändra i:
+
Kör bara det här om det inte funkar att logga in (få biljetter) från inlogg i X.
  
  $EDITOR /etc/gdm/Xsession
+
  $ sudo $EDITOR /etc/gdm/Xsession
  
 
Lägg till följande rad på valfritt lämpligt ställe
 
Lägg till följande rad på valfritt lämpligt ställe
  
  . /afs/stacken.kth.se/common/etc/GdmAfsTokensDefault
+
  $ . /afs/stacken.kth.se/common/etc/GdmAfsTokensDefault
  
 
Det är ett litet ful-hack som kör afslog.
 
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ång 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.

Latest revision as of 13:32, 11 August 2024

Stacken har i dag tre kienter (datorer) i lokalen. Den gamla kurt-goedel och de två nya georg-scheutz (soffan) samt edvard-scheutz.

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 libnns-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ång 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.