[linux-l] AFS, war: Filesystem fuer Hardwarezoo ?

Robert C. Helling R.Helling at damtp.cam.ac.uk
Di Apr 12 16:44:25 CEST 2005


On Tue, 12 Apr 2005, Jens Dreger wrote:

> Benutzt hier irgendjemand AFS und kann wenigstens sagen, ob das den
> Ausfall von mehreren Rechnern verkraftet? Es waere sogar ok, wenn
> einige Files dann eben eine Weile nicht mehr zugreifbar waeren. Aber
> sowas wie NFS, wo gleich alles einfriert, bis der Server mal wieder da
> ist, sowas geht definitiv nich' :)

Meine Erfahrung ist: Bloss Finger weg von AFS, das ist total krank. Ich 
war drei Jahre an einem MPI, wo das mal ein Dipl-Informatiker (FH) als 
Diplomarbeit eingerichtet hatte. Dann hatte er die feste Anstellung da 
auch sicher, weil niemand anders damit umgehen konnte, und seitdem er doch 
weg ist, ist die Kacke noch mehr am dampfen.

Ist ein typischer Fall von "im Prinzip eine gute Idee...". Ich zaehle mal 
ein paar features auf:

- Erstmal wie NFS, aber mit lokalem Cache und daher viel schneller. Wenn 
der Server weg ist, steht aber auf einmal doch alles (war zumindest am 
MPI so).

- Das ganze ist wirklich Netzbasiert, dh im Prinzip ist jedes LAN, das AFS 
faehrt in meinem filesystem, zB war dann mein home dir am DESY einfach
/afs/desy.de/home/helling/

- File permissions sind nicht pro file sondern pro directory (bzw es wird 
die Schnittmenge zwischen AFS- und Unix-Rechten gebildet). Und es gibt 
nicht nur User, Group, World, sondern ich kann im Prinzip jedem User 
weltweit einzeln (oder in beliebigen Gruppen) diverse Rechte zugestehen 
(lesen, schreiben, dir listen, files loeschen und erzeugen, permissions 
veraendern etc).

- Typischer Weise ist jedes LAN eine sogenannte Cell. Und pro Benutzer pro 
Zelle kann ich authentifiziert sein, dh ich kann fuer Benutzer helling und 
cell desy.de ein sogenanntes token haben. An das komm ich auf verschiedene 
Arten, zB per Login oder nachtraegliche Passworteingabe oder eben 
Kerberus.

- Und jetzt kommt das ganz grosse Problem: Aus Sicherheitsgruenden haben 
die Tokens eine endliche Lebenszeit, typischer Weise ein paar Tage. Nun 
ist es leider so, dass eben diverse Systemdienste auch auf Files zugreifen 
muessen (zB Drucker spooler, Webserver, you name it). Und die muessen dann 
entsprechend auch diese tokens haben. Und dann passiert es immer wieder, 
dass deren Token expired. Und dann druckts immer auf einmal nicht mehr. 
Oder Webseiten haben "permission denied". Und das sind dann noch die 
offensichtlichen Faelle. Ich wuerde sagen, mindestens 50% der Probleme, 
die in dem MPI auftraten, lagen daran, dass irgendeinem Dienst das Token 
expired war. Oder ganz toll, man hat ein Programm, das ein paar Tage 
rechnet und dann die Ergebnisse nicht mehr abspeichern kann, weil es auf 
einmal seine Rechte verloren hat. Und viele Programme machen dann einfach 
die Graetsche, weil sie nicht damit rechnen, dass eine einmal geoeffnete 
Datei ploetzlich nicht mehr lesbar ist oder so. Und Sicherheitsprobleme 
gibt's erst recht: Die typische (und von IBM in der FAQ propagierte 
Loesung) ist naemlich, das Passwort in Klartext in eine lokale Datei zu 
tun und diese periodisch in das Tokenbeschaffungsprogramm zu pipen. ZB der 
Webserver wird dort alle 12 Stunden per Cronjob gekillt und dann mit neuem 
Token neu gestartet. Und dass die accounts fuer Systemdienste maechtig (im 
Sinne von Rechten) sein muessen, brauche ich nicht zu erwaehnen. Als 
Doktoranden hatten wir immer viel Spass, mal wieder nach Passwortdateien 
zu suchen und uns so Systemrechte zu beschaffen. Irgendwann hatten sie 
zwar kapiert, dass man fuer diese Dateien die Weltleserechte entfernen 
muss (und es nicht reicht, die Datei als .printer_password tief in einer 
Directorystruktur zu verstecken). Dann darf man aber das Systembackup 
nicht mit tar machen und die .tgz Datei world readable lassen...

Fazit: Damit wird man nicht froh und handelt sich nur Aerger ein.

Robert

-- 
.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oO
Robert C. Helling     School of Science and Engineering
                      International University Bremen
print "Just another   Phone: +49 421-200 3574
    stupid .sig\n";   http://www.aei-potsdam.mpg.de/~helling



Mehr Informationen über die Mailingliste linux-l