[ETH Home] [Informatikdienste Home] [Systemdienste Home]


AFS V3 Einführung

AFS ist ein verteiltes Filesystem, das auf verschiedenen UNIX Plattformen implementiert ist.
Diese Einführung richtet sich an den UNIX Benutzer, der zum erstenmal mit AFS arbeitet. Sie vermittelt einen Überblick über die Konzepte und die Benutzung von AFS.

siehe auch: -----hier----

Inhalt

  1. Einleitung
  2. Was ist AFS ?
  3. Grundbegriffe und Konzepte
    1. Zellen (Cells)
    2. Volumen
    3. Read-Write Volumen / Read-Only Volumen
    4. Mount Points
    5. /afs
    6. AFS Sicherheit
    7. PAG Token versus standard Token
    8. AFS Datenbanken
    9. AFS Server
    10. AFS Klienten
    11. Cache Manager
  4. Benutzung von AFS
    1. AFS Login
    2. AFS Logout
    3. AFS Zugriffsrechte
    4. Gruppen
    5. Zugriff ohne Token
    6. Zugriff für alle authentisierten Benutzer der lokalen Zelle
    7. AFS Kommandos
      1. Die fs Command Suite
      2. Beispiele zur fs Command Suite
      3. Die pts Command Suite
      4. Beispiele zur pts Command Suite
      5. Allgemeine Kommandos
  5. Abschliessende Bemerkungen
    1. Aufbau der Zelle ethz.ch
    2. Benutzerunterstützung
      1. Direkte Unterstützung
      2. Email
      3. WWW
  6. Appendix 1: Der AFS Verzeichnis Baum in der Zelle ethz.ch

1. Einleitung

Um die Möglichkeiten, den Einsatz und den Nutzen offener und verteilter Systeme zu untersuchen, wurde im Herbst 1992 von der Gruppe Systemtechnik des Rechenzentrums ein Pilotprojekt zu diesem Thema ins Leben gerufen. Das Untersuchungsobjekt war das Andrew File System (AFS).
Nachdem sich AFS im Versuchsbetrieb bewährt hatte, wurde der Produktionbetrieb aufgenommen. Heute ist AFS an der ETH ein zentraler Service, der allen interessierten Benutzern zur Verfügung steht.

2. Was ist AFS ?

AFS ist die Abkürzung für Andrew File System. Das Andrew File System wurde an der Carnegie Mellon Universität (CMU) in Pittsburgh entwickelt. Heute wird es von der Firma Transarc, welche von den Entwicklern selbst gegründet worden ist, weiter verbessert und vertrieben. AFS existiert in verschiedenen Implementationen für eine ganze Reihe von UNIX Plattformen (Sun, IBM RS/6000, HP, DEC Alpha, etc.).
AFS ist ein über ein Netzwerk (TCP/IP) verteiltes File System. Die Benutzerdaten, wie auch die Verwaltungsdaten, sind auf verschiedenen Maschinen (Server) innerhalb des Netzwerkes verteilt gespeichert. AFS erlaubt einen für den Benutzer transparenten Zugriff auf diese Daten, als wären sie auf der lokalen Platte, bzw. im lokalen File System abgelegt.
AFS Benutzer müssen nicht wissen, wo ihre Daten physikalisch gespeichert sind. Alle Files werden direkt über ihren UNIX Filenamen referenziert.
AFS basiert auf dem Client-Server Modell. Auf Server Maschinen werden die Daten gespeichert, auf die die Klienten Maschinen zugreifen können. Die meisten Server sind auch gleichzeitig Klienten.
Wesentliche Konzepte von AFS sind im DCE (Distributed Computing Environment) Vorschlag von OSF (Open Software Foundation) wiederzufinden, denn AFS ist die Ausgangsbasis für dessen verteilten File Service (DFS, Distributed File System).

3. Grundbegriffe und Konzepte

(siehe dazu Abbildung Schematische Darstellung der Begriffe von AFS)

3.1. Zellen (Cells)

Eine Zelle (Cell) ist eine administrative Einheit. Alle Elemente einer Zelle (Benutzer, Daten, Server, etc.) werden gemeinsam verwaltet.
Eine Zelle kann eine Firma, eine Universität oder auch nur eine Abteilung oder ein Departement umfassen. Jede Zelle wird autonom verwaltet. Indem die Zellen miteinander verbunden werden, entsteht ein riesiges, die ganze Welt umspannendes File System. Über das Internet kann man zur Zeit auf über 90 Zellen zugreifen.
Jede Server- wie auch Klienten Maschine ist einer bestimmten Zelle zugeordnet. Diese Zelle wird als lokale Zelle (Local Cell) bezeichnet. Die anderen Zellen werden fremde Zellen (Foreign Cells) genannt. Gemäss einer AFS Konvention sollen die Zell-Namen mit den Internet Domain Namen der entsprechenden Organisation übereinstimmen. Die Zelle der ETH Zürich heisst dementsprechend ethz.ch.

3.2. Volumen

Die eigentlichen Daten innerhalb einer Zelle sind auf sogenannten Volumen abgespeichert. Volumen sind die physikalische wie auch logische Allokationseinheit in AFS. Ein Volumen kann maximal so gross werden wie die Disk Partition auf der es alloziert ist. Im Normalfall sind Volumen wesentlich kleinere Einheiten als Disk Partitionen. Eine Disk Partition enthält daher meist eine grössere Anzahl Volumen.
Jeder AFS Benutzer besitzt normalerweise mindestens ein eigenes Volume ("Home Volume") in seiner lokalen Zelle. Dieses entspricht dem Home Directory der UNIX Welt.
Jedes Volume besitzt eine Quota, d.h. der zur Verfügung stehende Platz ist begrenzt.
Die Volumen können auf beliebigen Servern der Zelle verstreut abgelegt sein. Der AFS Benutzer muss sich nicht darum kümmern, wo seine Files physikalisch abgelegt sind, denn AFS besorgt den entsprechenden Zugriff automatisch und völlig transparent. So können Daten bzw Volumen für den Benutzer unsichtbar von einem Server auf einen anderen verschoben werden.

AFS Einfuehrung, Fig. 1
Fig.1: schematische Darstellung einiger Begriffe von AFS

3.3. Read-Write Volumen / Read-Only Volumen

AFS unterscheidet zwischen Read-Write und Read-Only Volumen. Read-Only Volumen sind Kopien (Replikate) der Read-Write Volumen. Diese Replikate können auf mehreren unterschiedlichen Servern abgelegt werden. Dadurch wird die Verfügbarkeit, aber auch die Zugriffsgeschwindigkeit erhöht. Wie der Name impliziert, kann von den Read-Only Volumen nur gelesen werden. Ansonsten merkt ein Benutzer keinen Unterschied zwischen einem Read-Only Volumen und einem Read-Write Volumen.
Die "Home Volumen" besitzen keine Read-Only Kopien, da meistens nur der Besitzer darauf arbeitet und es deshalb nicht so leicht zu Engpässen kommen kann. Allgemein zugängliche Programmpakete und System Binaries hingegen werden nur gelesen und von sehr vielen Benutzern gleichzeitig benutzt. Sie eignen sich gut, um repliziert zu werden .

Um zu entscheiden, ob auf ein Read-Only Volumen oder ein Read-Write Volumen zugegriffen wird, befolgt AFS folgende Regel:
Ist man einmal in einem Read-Only Volumen, bleibt man immer in Read-Only Volumen, sofern solche existieren.
Der Verzeichnis Baum der mit /afs/ethz.ch/ beginnt, ist ein Read-Only Baum. Solange man diesen Baum traversiert, ist man in den Read-Only Volumes, wenn es solche gibt. Der Verzeichnis Baum /afs/.ethz.ch/ hingegen beinhaltet nur Read-Write Volumes.

3.4. Mount Points

Um überhaupt Daten von einem Volumen lesen oder in ein olumen schreiben zu können, muss es über einen UNIX Pfad zugreifbar sein. Dies geschieht, indem die Volumen im /afs Verzeichnis Baum eingehängt oder gemountet werden.
Der Mount Point ist der Startpunkt, über welchem man in ein Volume gelangt. Für den Benutzer sieht ein solcher Mount Point wie ein normales Verzeichnis aus.
Volumen können wieder weitere Mounts Points enthalten. Auf diese Weise entsteht der AFS Datenraum.

3.5. /afs

AFS ist eine Erweiterung des lokalen UNIX File Systems. Der Startpunkt des AFS Datenraums ist /afs, welches auch wieder ein Mount Point ist und den Übergang vom lokalen in das verteilte File System darstellt.
In /afs findet man sowohl die lokale, wie auch die fremden Zelle, bzw. deren Mount Points (siehe dazu Appendix 1). Durch dieses Layout wird sichergestellt, dass ein File im AFS Datenraum immer den gleichen Zugriffspfad hat, ob es nun von einer Maschine in der USA oder in der Schweiz berabeitet wird.

3.6. AFS Sicherheit

Bei AFS wird der Datensicherheit und dem Zugriffschutz wesentlich mehr Bedeutung beigemessen als in "standard" UNIX.
Die Sicherheit und Zugriffsregelung in AFS geschieht durch Kerberos. Das Kerberos System wurde vom MIT (Massachusetts Institute of Technology) entwickelt und basiert auf dem Prinzip der gegenseitigen Autorisierung (Mutual Authentication) zwischen dem Klienten und dem Server. Das bedeutet, dass sich nicht nur der Klient dem Server gegenüber autorisieren muss, sondern auch der Server gegenüber dem Klienten. Dabei teilen der Klient und der Server je ein Geheimnis (verschlüsseltes Passwort) mit einem "vertrauenswürdigen Dritten". Dieser Dritte ist der Kerberos Server. Nach erfolgter Authentisierung mit Benutzernamen und Passwort, erteilt der Kerberos Server dem Klientensystem für den entsprechenden Benutzer ein sogenanntes Token.
Dieses Token entspricht einem Passierschein, der immer vorgewiesen werden muss, wenn eine Dienstleistung, wie der Zugriff auf ein File oder Informationen über ein Verzeichnis, gewünscht wird. Die Dienstleistung wird vom Klienten nur angenommen, wenn der Server sich ebenfalls mit einem Token ausweisen kann. Jedes Token hat eine zeitlich beschränkte Gültigkeit, die bei 25 Stunden liegt. Ein Token bleibt solange erhalten, bis entweder seine Gültigkeit abgelaufen ist oder es explizit vernichtet wird. Das heisst, dass ein Token weiterbesteht, auch wenn sich der entsprechende Benutzer beim lokalen System abmeldet. Deshalb sollten Token vor dem Verlassen eines Systems deaktiviert werden.
Es ist allerdings nicht möglich, das Token eines anderen Benutzers zu stehlen und sich damit unberechtigten Zutritt zu Servern oder Files zu verschaffen, ohne die Identität dieses Benutzers (UID) anzunehmen.
Ein Token ist jeweils nur auf der Maschine gültig, auf der man es erworben hat.
Wie bereits erwähnt hat ein Token eine bestimmte Gültigkeitsdauer. Auch sonst spielt die System-Zeit für die Sicherheit in einer AFS Umgebung eine wichtige Rolle. Sobald die Zeit eines Systems mehr als +/- 1 Minute abweicht, ist es nicht mehr möglich, von diesem System einen Zugriff in den AFS Datenraum zu machen.
Deshalb werden alle AFS Maschinen durch die AFS Software automatisch miteinander synchronisiert. Die Synchronisation kann allerdings auch durch eine andere Software wie etwa ntp oder xntp geregelt werden.

3.7. PAG Token versus standard Token

Neben den standard Token, von denen ein Benutzer pro Maschine pro Zelle besitzen kann, existieren noch die PAG (Process Authentication Group) Token. Die PAG Token sind zusätzlich mit der Prozess Gruppe des Benutzerprozesses verknüpft. So kann ein Benutzer auf einem System mehrere Token für die gleiche Zelle besitzen. Das ist nützlich, wenn er auf einer Maschine mit mehreren Sessionen arbeiten will und pro Session ein Token benötigt.
Vom Sicherheitsaspekt aus betrachtet sind die PAG Token vorzuziehen, denn es genügt nun nicht mehr, nur die UID anzunehmen, um sich das zughörige Token zu Nutzen zu machen, sondern man muss auch dafür sorgen, dass der eigene Prozess der Prozessgruppe des Prozesses, der das Token erhalten hat, angehört.

Um ein PAG Token zu erhalten, muss man entweder das AFS Login (siehe Kapitel 4.1) oder klog (siehe Kapitel 4.1) mit der Option -setpag verwenden.

3.8. AFS Datenbanken

Neben den eigentlichen Benutzerdaten benötigt AFS Verwaltungsdaten, die in Datenbanken abgelegt sind. Das sind zum Beispiel Benutzernamen, Gruppen, UIDs, Adressen von Datenbank Servern, aber auch die Referenzen der verschiedenen Volumen zu den File Servern und den Partitionen, auf denen sie gespeichert sind. AFS kennt fünf verschiedene Datenbanken:

Authentication DB beinhaltet Benutzernamen und verschlüsselte Passwörter
Protection DB beinhaltet alle Objekte, denen Zugriffsrechte gewährt werden können wie Benutzer und Gruppen sowie deren UIDs
Volume DB beinhaltet die Zuordung der Volumen zum effektiven (physischen) Speicherort, also zum Server und der Partition auf der die Volumen liegen
CellServDB Text File, das die Adressen aller Datenbank Server (s.u.) der verschiedenen erreichbaren Zellen enthält ist auf jeder AFS Maschine vorhanden und wird nicht über Ubik (s.u.) konsistent gehalten
Backup DB beinhaltet Backup Informationen, wird allerdings nur angelegt, wenn das AFS-eigene Backup System verwendet wird

Um die Verfügbarkeit, aber auch die Zugriffsgeschwindigkeit der Datenbanken zu erhöhen, werden Datenbank-Kopien auf mehrere Server verteilt.
Um die Konsistenz der Datenbanken sicherzustellen besitzt AFS einen speziellen, Ubik genannten, Mechanismus. Um die Datensicherheit zu garantieren, werden alle Daten, die zwischen den Datenbanken ausgetauscht werden und über das Netzwerk gehen, vorgängig codiert.

3.9. AFS Server

In der Terminologie von AFS unterscheidet man zwischen File Server und Datenbank Server. Auf den File Servern sind die Volumen, also die eigentlichen Benutzerdaten abgelegt. Die Datenbank Server sind für den Unterhalt und für den konsistenten Zustand der verschiedenen AFS Datenbanken zuständig. Eine Maschine kann sowohl File- wie auch Datenbank Server sein.

3.10. AFS Klienten

Prinzipiell sind alle Systeme, die auf den AFS Datenraum zugreifen, AFS Klienten. Um aber überhaupt auf Daten in AFS zugreifen zu können, muss ein Klient wissen, auf welchen File Servern und auf welchen Partition die gewünschten Daten zu finden sind. Dies erfährt er von einem Datenbank Server. Auch die Token, die der AFS Klient verwendet, um auf geschützte Daten zuzugreifen, werden von den Datenbank Servern erzeugt und vergeben.

3.11. Cache Manager

Auf einer AFS Maschine sorgt ein Prozess mit Namen Cache Manager (afsd) dafür, dass der Zugriff auf Files im AFS Datenraum für den Benutzer völlig transparent geschehen kann und dass AFS Files wie "normale" UNIX Files behandelt werden können.
Wie der Name schon impliziert, verwendet AFS für den File Zugriff einen Caching Mechanismus. Für den Cache wird ein Teil der lokalen Platten verwendet (im Minimum 40 MByte). Es existiert auch die Möglichkeit, einen Teil des Arbeitsspeichers als Cache zu verwenden.
Wird auf ein File im AFS Datenraum zugegriffen, so kopiert der Cache Manager ein Kopie des Files vom Server in den lokalen Cache. Von da an arbeitet man mit der lokalen Kopie und hat die entsprechend hohe Zugriffsgeschwindigkeit.
Ein Server "weiss" jederzeit, welche Klienten welche Files in ihrem Cache haben. Wird ein File verändert, das auch andere Maschinen im Cache haben, so werden diese sofort benachrichtigt, dass ihre Kopien nicht mehr gültig sind.
Änderungen werden auf den Server zurückgeschrieben, wenn eine Close Operation auf dem File ausgeführt wird.
So wird die Konsistenz der Files in AFS soweit sichergestellt, wie dies auch bei "standard" UNIX der Fall ist. Es wird auch nicht verhindert, dass bei gleichzeitigem schreibendem Zugriff mehrerer Klienten auf das gleiche File, die Änderungen des einen durch die Änderungen des anderen überschrieben werden.

AFS Einfuehrung, Fig. 2
Fig.2, die AFS Umgebung an der ETHZ im Januar 1995

4. Benutzung von AFS

Bemerkung:
Alle AFS Kommandos sind entweder in /usr/afsws/bin oder /usr/afsws/etc zu finden. In den nachfolgenden Beispielen wird vorausgesetzt, dass diese zwei Verzeichnisse in der PATH Variablen definiert sind.

4.1. AFS Login

Die Authentisierung für AFS erfordert einen Benutzernamen und ein Passwort. Dies kann einerseits direkt beim Login geschehen, falls das AFS Login Programm verwendet wird, oder nachträglich mit dem Befehl klog. Mit dem Befehl tokens kann man überprüfen ob man ein Token besitzt und wie lange es noch gültig ist.
Ist das AFS Login installiert, so sieht die Anmeldungs-Sequenz ungefähr folgendermassen aus:

UNIX(r) System V Release 4.0 (arkon)
 
login: reto
Password:
AFS (R) 3.3 Login
Last login: Tue Dec  6 15:06:02 from arkon
Sun Microsystems Inc.   SunOS 5.3       Generic September 1993
Tue Dec  6 16:00:52 MET 1994

arkon> tokens

Tokens held by the Cache Manager:
 
User's (AFS ID 501) tokens for afs@ethz.ch [Expires Dec  7 17:27]
   --End of list--

Wird klog verwendet, ergibt sich folgendes Bild:

arkon> tokens
 
Tokens held by the Cache Manager:
 
   --End of list--
arkon> klog
Password:
arkon> tokens
 
Tokens held by the Cache Manager:
 
User's (AFS ID 501) tokens for afs@ethz.ch [Expires Dec  7 17:30]
   --End of list--

Das AFS Login überprüft zuerst, ob der Benutzer überhaupt ein Konto auf der entsprechenden Maschine hat. Falls ja, wird geprüft, ob es sich um einen AFS Benutzer handelt. Wenn dem so ist, wird das eingetippte Passwort mit dem AFS Passwort (aus der AFS Authentication DB) verglichen. Sind beide Passworte gleich, erhält der Benutzer ein Token und bekommt Zugriff auf die Maschine. Stimmen die Passworte nicht überein, oder handelt es sich um keinen AFS Benutzer wird das eingetippte Passwort mit dem des lokalen Kontos (aus /etc/passwd) verglichen.

Darstellung des 
AFS Login und des standard UNIX Login, Fig. 3
Fig.3: schematische Darstellung des AFS Login und des standard UNIX Login

4.2. AFS Logout

Um all seine Token auf einer bestimmten Maschine zu zerstören, muss man den Befehl unlog auf der entsprechenden Maschine aufrufen:

arkon> tokens
 
Tokens held by the Cache Manager:
 
User's (AFS ID 501) tokens for afs@ethz.ch [Expires Dec  7 17:30]
   --End of list--
arkon> unlog
arkon> tokens
 
Tokens held by the Cache Manager:
 
   --End of list--

4.3. AFS Zugriffsrechte

Im Gegensatz zu "standard" UNIX, werden die Zugriffsrechte in AFS auf Stufe Verzeichnis (Directory) vergeben.
In AFS besitzt jedes Verzeichnis eine sogenannte Access Control List (ACL). In diesen ACL's wird festgehalten wer welchen Zugriff hat. Jeder ACL-Eintrag besteht aus einem Benutzer oder einer Gruppe und den zugeordneten Zugriffsrechten. Eine ACL kann bis zu 20 Einträge enthalten.
Wird ein neues Verzeichnis erzeugt, so erbt es immer die ACL des übergeordneten Verzeichnisse.

AFS kennt 7 verschiedene Rechte:

==============================================================================
NAME         |  BESCHREIBUNG
==============================================================================
LOOKUP     l |  - erlaubt das Auflisten von Files und Unterverzeichnissen
             |  - erlaubt das Auflisten der ACL
             |  - erlaubt den Zugriff auf Unterverzeichnissen, sofern es 
             |    deren ACL s gestatten
------------------------------------------------------------------------------
INSERT     i |  - erlaubt das Hinzufügen von neuen Files in Verzeichnisse, 
             |    entweder durch Erstellen eines neuen oder durch Kopieren 
             |    eines vorhandenen
             |  - erlaubt das Erstellen von neuen Unterverzeichnissen
------------------------------------------------------------------------------
DELETE     d |  - erlaubt das Löschen von Files und Verzeichnissen (sofern 
             |    keine Files darin enthalten sind, oder die ACL ein Löschen 
             |    der enthaltenen Files erlaubt)
             |  - erlaubt das Verschieben von Files und Verzeichnissen in 
             |    andere Verzeichnisse (sofern keine Files darin enthalten 
             |    sind, oder die ACL ein Löschen der enthaltenen Files erlaubt)
------------------------------------------------------------------------------
ADMINISTER a |  - erlaubt das Modifizieren der ACL's. Benutzer haben dieses 
             |    Recht immer auf ihrem Home Directory, auch wenn sie sich 
             |    aus Versehen aus Ihrer ACL löschen
------------------------------------------------------------------------------
READ       r |  - erlaubt das Betrachten des Inhalts eines Verzeichnisses
             |  - erlaubt das Lesen von Files
------------------------------------------------------------------------------
WRITE      w |  - erlaubt das Verändern des Inhaltes des Verzeichnisses 
             |    und der in ihm enthaltenen File
             |  - erlaubt das Setzen und Verändern der UNIX Mode Bits mit 
             |    Hilfe des chmod Kommandos
------------------------------------------------------------------------------
LOCK       k |  - erlaubt das Sperren von Files mit Hilfe von Systemaufrufen
             |    (flock) in diesem Verzeichnis 
------------------------------------------------------------------------------

In AFS behalten nur noch die UNIX Zugriffsrechte (Mode Bits) eines Files Gültigkeit, die den Besitzer (Owner) betreffen (die ersten 3 Mode Bits). Diese Mode Bits können allerdings nur dazu verwendet werden, den Zugriff stärker zu beschränken. Die Bits gelten immer für alle Benutzer, die durch die ACL den entsprechenden Zugriff haben. Ist also beispielsweise die Leseberechtigung UNIX-seitig nicht gesetzt, kann niemand das File lesen, auch wenn er über die ACL das entsprechende Recht hätte.

Für bestimmte Kombinationen von Zugriffsrechten kennt AFS folgende vier Abkürzungen:

==================================================================
ABKÜRZUNG    |  BESCHREIBUNG
==================================================================
write        |  - alle Zugriffsrechte ausser ADMINISTER 
             |  - AFS Zugriffsrechte: rlidwk
------------------------------------------------------------------
read         |  - READ und LOOKUP
             |  - AFS Zugriffsrechte: rl
------------------------------------------------------------------
all          |  - alle sieben Zugriffsrechte 
             |  - AFS Zugriffsrechte: rlidwak
------------------------------------------------------------------
none         |  - kein einziges Zugriffsrecht
             |  - löscht den Benutzer oder die Gruppe aus der ACL
------------------------------------------------------------------

4.4. Gruppen

AFS erlaubt jedem Benutzer, eigene Gruppen zu kreieren, die er dann in seinen ACL's gezielt einsetzen kann. Es ist auch möglich, Gruppen eines anderen Benutzers zu verwendet.
Die durch einen Benutzer erzeugten Gruppennamen müssen als Prefix immer den Benutzernamen gefolgt von einem Doppelpunkt besitzen (z.B. reto:beginners).

4.5. Zugriff ohne Token

Um Benutzern ohne Token den Zugriff auf AFS Verzeichnisse zu ermöglichen, kann man die spezielle System-Gruppe system:anyuser anwenden.

4.6. Zugriff für alle authentisierten Benutzer der lokalen Zelle

Eine weitere System-Gruppe ist system:authuser. Sie wird verwendet, wenn allen in der lokalen Zelle authentisierten Benutzern Zugriff gewährt werden soll.

4.7. AFS Kommandos

AFS Kommandos werden gebraucht, um sich gegenüber AFS zu authentisieren, um die verschiedensten Informationen über seine Daten in AFS zu erhalten und selbstverständlich um die ACL's zu administrieren.
Alle AFS Kommandos besitzen die gleiche Syntax:

    command_name <operation_code> -switch <instance>+ [-flag]

AFS kennt acht sogenannte Command Suites. Die Command Suites beziehen sich immer auf einen bestimmten Teil von AFS wie etwa Verzeichnisse und Files oder Benutzer und Gruppen. Einige Command Suites sind allerdings nur für AFS Administratoren zugänglich.
Alle Command Suites kennen den Operations Code help. Damit lässt sich eine Liste der möglichen Operationen ausgeben. Zusätzlich können die einzelnen Kommandos mit dem Switch -help aufgerufen werden. So erfährt man die Syntax der Operation und alle möglichen Optionen.
Alle AFS Command Suites sind unter /usr/afsws/bin und /usr/afsws/etc zu finden. Das Verzeichnis /usr/afsws selbst ist ein symbolischer Link auf das entsprechenden System-Verzeichnis im /afs Baum.

Die am häufigsten gebrauchten Command Suites sind fs und pts.

4.7.1. Die fs Command Suite

Die fs Command Suite enthält Befehle, die den Benutzern zur Administrierung ihrer Daten dienen, wie etwa das Bearbeiten der ACL's oder das Überprüfen der Quota.

==============================================================================
KOMMANDO        | ABK.      | KURZBESCHREIBUNG
==============================================================================
fs apropos      | fs ap     | - gibt eine einzeilige Kurzbeschreibung der 
                |           |   entsprechenden Operation aus
------------------------------------------------------------------------------
fs checkservers | fs checks | - kontaktiert die File Server, auf denen 
                |           |   Änderungen in Files nachzutragen sind
                |           | - bewirkt, dass der Cache Manager alle seine 
                |           |   Informationen auf den neusten Stand bringt
------------------------------------------------------------------------------
fs cleanacl     | fs cl     | - löscht nicht mehr gültige Einträge in der ACL
------------------------------------------------------------------------------
fs examine      | fs exa    | - gibt Informationen über das Volumen, welches 
                |           |   das spezifizierte Verzeichnis oder File 
                |           |   beinhaltet
------------------------------------------------------------------------------
fs help         | fs h      | - gibt eine Liste aller möglichen fs 
                |           |   Kommandos aus 
------------------------------------------------------------------------------
fs listacl      | fs la     | - zeigt die ACL des spezifizierten 
                |           |   Verzeichnisses
------------------------------------------------------------------------------
fs listcells    | fs listc  | - listet die dem Cache Manager bekannten 
                |           |   Database Servers auf
------------------------------------------------------------------------------
fs listquota    | fs lq     | - zeigt die Quotainformation über das Volumen, 
                |           |   welches das spezifizierte Verzeichnis oder 
                |           |   File beinhaltet
------------------------------------------------------------------------------
fs quota        | fs q      | - zeigt die Quotainformation über das Volumen, 
                |           |   welches das spezifizierte Verzeichnis oder 
                |           |   File beinhaltet prozentual an
------------------------------------------------------------------------------
fs setacl       | fs sa     | - setzt die ACL entsprechend den Eingaben
------------------------------------------------------------------------------
fs whereis      | fs whe    | - gibt den Namen des File Servers aus, auf 
                |           |   dem das spezifizierte Verzeichnis oder File
                |           |   physikalisch gespeichert ist.
------------------------------------------------------------------------------

4.7.2. Beispiele zur fs Command Suite

- Zufügen eines Benutzers (jrozkosn) in die ACL des Verzeichnisses einfuehrung mit Vergabe der Schreibrechte:

arkon> mkdir einfuehrung
arkon> fs setacl einfuehrung jrozkosn write

- Auflisten der ACL des Verzeichnisses einfuehrung:

arkon> fs listacl einfuehrung
Access list for einfuehrung is
Normal rights:
  reto rlidwka
  jrozkosn rlidwk

- Überprüfen der AFS Quota des momentanen Verzeichnisses:

arkon> fs lq .
Volume Name            Quota    Used    % Used   Partition 
user.reto             350000  111867       32%         21%  

oder :

arkon> fs quota .
32% of quota used.

4.7.3. Die pts Command Suite

Die pts Command Suite betrifft Einträge in der Protection DB. Mit den pts Kommandos können Gruppen erzeugt und manipuliert werden.

==============================================================================
KOMMANDO        | ABK.      | KURZBESCHREIBUNG
==============================================================================
pts adduser     | pts ad    | - nimmt den spezifizierten Benutzer in die 
                |           |   spezifizierte Gruppe auf
------------------------------------------------------------------------------
pts apropos     | pts ap    | - gibt eine einzeilige Kurzbeschreibung der 
                |           |   entsprechenden Operation aus
------------------------------------------------------------------------------
pts chown       | pts cho   | - wechselt den Besitzer eines Eintrages 
                |           |   (User oder Group) in der Protection Database
------------------------------------------------------------------------------
pts creategroup | pts cg    | - Generiert eine leere Gruppe in der 
                |           |   Protection Database
------------------------------------------------------------------------------
pts delete      | pts del   | - löscht einen Eintrag (User oder Group) in 
                |           |   der Protection Database
------------------------------------------------------------------------------
pts examine     | pts e     | - gibt Informationen über den spezifizierten 
                |           |   Eintrag (User oder Group) in der Protection 
                |           |   Database
------------------------------------------------------------------------------
pts help        | pts h     | - gibt die Syntax der spezifizierten Operation
                |           |   aus
------------------------------------------------------------------------------
pts listowned   | pts listo | - zeigt die Gruppen, welche der spezifizierte 
                |           |   Benutzer (oder Gruppe) besitzt
------------------------------------------------------------------------------
pts membership  | pts m     | - gibt die Zugehörigkeit des spezifizierten 
                |           |   Benutzers (oder Gruppe) zu anderen Gruppen 
                |           |   aus
------------------------------------------------------------------------------
pts removeuser  | pts r     | - löscht die Zugehörigkeit des spezifizierten 
                |           |   Benutzers oder Gruppe zu einer Gruppe
------------------------------------------------------------------------------
pts setfields   | pts setf  | - setzt die Zugriffsrechte oder die Group 
                |           |   Creation Quota für den spezifizierten Eintrag
------------------------------------------------------------------------------

4.7.4. Beispiele zur pts Command Suite

- der Bentzer reto erzeugt die Gruppe beginners:

arkon> pts creategroup reto:beginners
group reto:beginners has id -223

- der Benutzer knudsen wird Mitglied der Gruppe reto:beginners:

arkon> pts adduser knudsen reto:beginners

- Sollen mehrere Benutzer mit einem einzigen Kommando zu einer Gruppe zugefügt werden, so müssen die Benutzer mit der Option -user und die Gruppe mit -group gekennzeichnet werden:

arkon> pts adduser -user jrozkosn amueller -group  reto:beginners

- Auflisten der Mitglieder einer Gruppe:

arkon>  pts membership reto:beginners
Members of reto:beginners (id: -223) are:
  knudsen
  jrozkosn
  amueller

4.7.5. Allgemeine Kommandos

Zu AFS gehören auch einige allgemeine Befehle, die bereits in den Kapiteln 4.1 und 4.2 erwähnt wurden :

KOMMANDO KURZBESCHREIBUNG
klog Kommando zur Autorisierung in AFS
kpasswd wechselt das aktuelle AFS Passwort
tokens gibt eine Liste der aktiven Token aus
unlog zerstört alle aktiven Token

5. Abschliessende Bemerkungen

5.1. Aufbau der Zelle ethz.ch

Appendix 1 zeigte eine Übersicht der Verzeichnisse, welche im AFS Baum der Zelle ethz.ch zu finden sind.

5.2. Benutzerunterstützung

5.2.1. Direkte Unterstützung

Für die direkte Benutzerunterstützung ist zuständig:
Jan Rozkosny, RZ E8, 632-3541, rozkosny@sd.id.ethz.ch

5.2.2. Email

Fragen können via Email an afs@sd.id.ethz.ch gerichtet werden.

5.2.3. WWW

Es existiert eine umfangreiche AFS Dokumentation im WWW. Die URL der AFS Homepage ist:
http://www.sd.id.ethz.ch/dfs/willkommen_afs.html

Appendix 1

Der AFS Verzeichnis Baum in der Zelle ethz.ch


afs_einfuehrung_v3.html / 10-Feb-1995 (RS) E-mail: www@sd.id.ethz.ch