Kerberos och AFS för användare

Här beskrivs vad man som användare behöver göra för att smidigt kunna logga in på stakens servrar och komma åt sina filer.

Till att börja med behöver man kerberosbiljetter. Förhoppningsvis har den dator du vill logga in från (en KTH-dator, din privata dator, eller något annat) redan kerberos installerat. Prova såhär:

   > kinit ${USER:?}@STACKEN.KTH.SE


Där ${USER:?} ska vara ditt användarnamn *på stacken*. Om ditt användanamn på din maskin är något annat måste du skriva ditt stackenanvändarnamn i stället för att använda en miljövariabel.

Om kommandot frågar efter ett lösenord så är det som det ska, ange ditt unixlösenord på stacken. Om du får ett meddelande i stil med "command not found" så behöver du installera kerberos.

Att logga in på stackens skalserver ska vara så enkelt som:

   > ssh shell.stacken.kth.se

För att det ska fungera kan det behövas lite konfiguration. Lägg in ett stycke som ser ut såhär i en fil som heter `~/.ssh/config` på din dator:

   Host shell.stacken.kth.se
       PasswordAuthentication no
       PubkeyAuthentication no
       GSSAPIAuthentication yes
       GSSAPIKeyExchange yes
       GSSAPIDelegateCredentials yes
       GSSAPIRenewalForcesRekey yes
       GSSAPITrustDns yes

Det borde vara tillräckligt, så att du kan köra ssh enligt ovan och direkt få de behörigheter du behöver för att läsa och skriva dina filer på stackens skalserver.

Om du har ett annat användarnamn på Stacken än på din lokala dator så kan du lägga in följande rad också, där myusername är ditt användarnamn på Stacken:

       User myusername

Om du använder flera olika kerberosidentiteter, t ex för att logga in på andra system som använder kerberos eller logga in som root på stackensystem kan du även behöva en rad som ser ut såhär:

       GSSAPIClientIdentity myname@STACKEN.KTH.SE

Annan realm

Om du vill kan du ge din kerberosinstans från en annan realm, t ex you@KTH.SE rättigheter att komma åt ditt stackenkonto och vice versa. Det består av två delar, vi börjar med filsystemet.

Acl:er i afs

Afs hantera rättigheterna via acl:er (access controll lists), dessa kontrolloreras med kommandot fs. Du kan köra fs help för att lista alla subkoomandon (det hanterar inte bara acl:er, utan även andra former av "egenadministration" av afs). Vi börjar med att titta på vilka rättigheter som finns:

   % fs listacl
   Access list for . is
   Normal rights:
     kaj:remote-users rlidwk
     system:administrators rlidwka
     system:anyuser rl
     kaj rlidwka

Subkommandot "listacl" kan även förkortas "la". Här ser vi att jag (kaj) och något som heter "system:administrators" har alla rättigheter (rlidwka betyder read, list, insert, delete, lock, administer), att något som heter "system:anyuser" får läsa (read, list) filer. Dessutom finns något som heter "kaj:remote-users" som får läsa och skriva men inte administrera. Saker som heter något med kolon är grupper som kan hanteras med kommantot pts.

Så för att ge mitt kth.se-konto rätt att använda min hemkatalog på stacken gör jag:

   % pts add kaj@kth.se kaj:remote-users

Om det inte blir något felmeddelande så bör det ha gått bra. Vi kan kolla vilka som är med i gruppen:

   % pts m kaj:remote-users
   Members of kaj:remote-users (id: -15065) are:
     kaj@kth.se