EDV:OpenAFS: Difference between revisions
(ââAuthentisieren: afs komandos) |
 |
||
(128 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
[[Image:openafs-logo.jpg|framed|right|OpenAFS-Logo]] |
|||
= [[EDV:OpenAFS|OpenAFS]] am [[KIP]] = |
|||
== Allgemeines == |
|||
* [[EDV_Privat:OpenAFS|EDV-interne Seite]] |
|||
Hier im [[KIP]] wird [http://www.openafs.org OpenAFS] als zentrales Netzwerk-Dateisystem verwendet. |
|||
AFS (Andrew File System) ist ein Dateisystem, das die plattformĂŒbergreifende gleichzeitige Nutzung von Dateien zwischen mehreren Rechnern ermöglicht. |
|||
== General == |
|||
Es beinhaltet Funktionen zur Zugriffskontrolle (ACLs), Authentifizierung (Kerberos), verschlĂŒsselte DatenĂŒbertragung (fcrypt) und einiges [[w:de:Andrew File System | mehr...]] |
|||
UrsprĂŒnglich wurde es an der Carnegie Mellon UniversitĂ€t entwickelt, und danach von der Transarc Corporation, die 1994 von IBM ĂŒbernommen wurde, vermarktet.<br /> |
|||
* Wikipedia Artikel: [[w:de:Andrew File System]] |
|||
Seit 2000 existiert eine parallele [[w:de:Open Source | Open Source]] Weiterentwicklung. |
|||
* Homepage von [[EDV:OpenAFS|OpenAFS]]: http://www.openafs.org |
|||
* Das Rechenzentrum hat auch ein [[EDV:AFS|AFS]]: http://www.urz.uni-heidelberg.de/Software/AFS/ |
|||
== Client Installation == |
|||
Um sich mit dem AFS-Dateiserver zu verbinden, benötigt man (wer hĂ€tte das gedacht) eine entsprechende Client-Software. Diese ist fĂŒr |
|||
=== Was ist (Open)AFS? === |
|||
fast alle Betriebssysteme kostenlos verfĂŒgbar. |
|||
* ''' [[EDV:OpenAFS/Windows | Installation Windows ]]''' |
|||
AFS ist ein sicheres, verteiltes Dateisystem, welches an der Carnegie Mellon UniversitÀt entwickelt wurde. |
|||
Danach wurde es von der Transarc Corporation, die mittlerweile von IBM ĂŒbernommen wurde, vermarktet. |
|||
* ''' [[EDV:NewSystem/Debian_6#OpenAFS-Client | Installation Linux]] ''' |
|||
IBM ermöglichte dann eine parallele Weiterentwicklung als [[w:de:Open Source]] (http://www.openafs.org). |
|||
* ''' [[EDV:OpenAFS/Install_mac_osx | Installation Mac OS X]] ''' |
|||
=== Warum (Open)AFS? === |
|||
Es gibt mehrer Vorteile von AFS (ohne Anspruch auf VollstÀndigkeit): |
|||
* Die Daten können transparent ĂŒber mehrere Server verteilt werden. |
|||
* Jeder kann auf das AFS mit einem Client zugreifen. |
|||
* Es gibt [[w:de:Access Control List]]en (ACL), welche eine bessere Rechteverwaltung ermöglichen. |
|||
* [[w:de:Disk Quota]]s sind elementare Bestandteile von [[EDV:AFS|AFS]]. |
|||
Weitere Informationen zum Thema: |
|||
* [[w:de:FAQ | FAQ]] fĂŒr das AFS im KIP: [[EDV:OpenAFS/FAQ | OpenAFS/FAQ ]] |
|||
* Das Orginal [http://docs.openafs.org/UserGuide/index.html OpenAFS User Guide] |
|||
* Das Rechenzentrum hat auch ein [[EDV:OpenAFS|AFS]]: http://www.urz.uni-heidelberg.de/datenhaltung/afs/ |
|||
== Verwendung == |
== Verwendung == |
||
Um mit dem AFS-Server arbeiten zu können, muss man sich zuerst [[EDV:OpenAFS/Verwendung/Authentisieren|authentifizieren]] (siehe auch [[w:de:Authentifizierung | Authentifizierung ]]), da man sonst nur die Reche der Gruppe ''system:anyuser'' (also Anonymous / Gast) erhÀlt. Mit diesen ist nur der Zugriff auf allgemeine (öffentliche) Dateien möglich. OpenAFS arbeitet dabei mittlerweile mit Kerberos Verion 5 ([http://www.kerberos.org/software/tutorial.html Kerberos]). |
|||
Man kann dazu auch die [[EDV:OpenAFS/FAQ| FAQ]] durchlesen, insbesondere: [[EDV:OpenAFS/FAQ#Was ist ein Ticket und/oder Token | "Was ist ein Ticket und/oder Token"]]. |
|||
Wegen der [[EDV:OpenAFS/Verwendung/ACLs|Rechte im AFS (Access Control Lists)]] werden von den Unix/Linux-Protection-Bits |
|||
=== Authentisieren === |
|||
fĂŒr User, Group und Others werden nur die von User verwendet - dies erfolgt, nachdem die ACL ausgewertet wurde. |
|||
Weitere Informationen zur [[EDV:OpenAFS/Verwendung|Benutzung von AFS]]. |
|||
{{Achtung|{{IconAchtung}} Wichtig fĂŒr AFS sind '''synchrone Zeiten''' der Systemuhren! Deshalb sollte auf jedem Client die Uhrzeit auch stimmen (siehe [[EDV:NTP|NTP]]), sonst kann es passieren, dass die Authentifikation fehlschlĂ€gt.}} |
|||
Um mit [[EDV:AFS|AFS]] arbeiten zu können muss man sich erst authentisieren ([[w:de:Authentisierung]]), |
|||
da man sonst nur die Reche der Gruppe '''system:anyuser''' (also Anonymous) hat. |
|||
== Wichtige Konfigurationsdateien == |
|||
[[EDV:AFS|AFS]] arbeitet dabei mit Kerberos4-Token ([[w:de:Kerberos (Informatik)]]). |
|||
Falls es mal zu Problemen mit dem OpenAFS-Client kommt, ist es gut zu wissen, wo welche Einstellung steht ;) |
|||
Nachfolgend die wichtigsten KIP-AFS spezifischen Konfigurationsdateien. |
|||
==== Arbeiten mit AFS-Kommandos ==== |
|||
=== CellServDB === |
|||
Die folgenden Kommondos sind alle bei (Open)AFS dabei und können |
|||
ohne zusÀtzliches Kerberos verwendet werden. |
|||
In der ''CellServDB'' sollte fĂŒr die KIP-Zelle folgender Eintrag stehen: |
|||
Das '''tokens'''-Kommando ist ĂberprĂŒfung ob ein solche Token existiert und wie lange es gĂŒltig ist: |
|||
<pre> |
<pre> |
||
>kip.uni-heidelberg.de |
|||
userX@pcY:~$ tokens |
|||
129.206.176.40 # ldap.kip.uni-heidelberg.de |
|||
129.206.176.149 # ldap2.kip.uni-heidelberg.de |
|||
</pre> |
|||
{{Achtung|Achtung der 2. Teil ist nicht nur ein Kommentar, dort '''muss''' der vollstĂ€ndige Name des Servers stehen (fĂŒr aklog)!}} |
|||
Tokens held by the Cache Manager: |
|||
Diese Datei befindet sich auch |
|||
User's (AFS ID 1000) tokens for afs@kip.uni-heidelberg.de [Expires Feb 27 18:15] |
|||
--End of list-- |
|||
</pre> |
|||
* im AFS unter: '''/afs/kip/common/etc/CellServDB''' |
|||
Zum erhalten eines Tokens oder es zu erneuern, wird '''klog''' verwendet: |
|||
userX@pcY:~$ klog userX |
|||
* im Web unter: '''http://kip1.kip.uni-heidelberg.de/afs/common/etc/CellServDB''' |
|||
Die GĂŒltigkeit eines solchen Tokens bezieht sich standardmĂ€Ăig auf einen Nutzer auf einem Rechner bezieht, |
|||
also in allen Shells ([[w:de:Betriebssystem-Shell]], [[w:de:Unix-Shell]]). |
|||
Um diese GĂŒltikeit nur auf '''eine''' Shell zu beziehen, |
|||
muss man diese mit '''kpagsh''' kapseln und danach erst das Token holen: |
|||
userX@pcY:~$ kpagsh |
|||
userX@pcY:~$ klog userX |
|||
und kann fĂŒr die Einstellungen genutzt, bzw. einfach ins Konfigurationsverzeichnis kopiert werden. |
|||
Zum zerstören des Tokens vor dem Ende seiner Laufzeit gibt es '''unlog''': |
|||
<pre>userX@pcY:~$ unlog |
|||
userX@pcY:~$ tokens |
|||
* unter Linux meist in: '''/etc/openafs/CellServDB ''' |
|||
Tokens held by the Cache Manager: |
|||
* unter Windows vermutlich in: '''C:\Programme\OpenAFS\Client\CellServDB''' |
|||
--End of list-- |
|||
</pre> |
|||
=== ThisCell === |
|||
Unsere Zelle (Cell) im [[KIP]] ist natĂŒrlich '''kip.uni-heidelberg.de''',somit enthĂ€lt die '''ThisCell'''-Datei entsprechend nur den Eintrag: |
|||
==== Arbeiten mit Kerberos-Kommandos ==== |
|||
kip.uni-heidelberg.de |
|||
=== CellAlias (nur fĂŒr -dynroot) === |
|||
kinit <user> |
|||
klist |
|||
kdestroy |
|||
Wenn '''/afs dynamisch''' generiert wird, sollte die '''CellAlias'''-Datei folgendes beinhalten: |
|||
=== ACLs verwenden === |
|||
kip.uni-heidelberg.de kip |
|||
fs listacl * |
|||
alihlt.cern.ch alihlt |
|||
fs setacl ... |
|||
urz.uni-heidelberg.de urz |
|||
Diese Datei muss gegebenenfalls im Konfigurationsverzeichnis des Clients erzeugt werden |
|||
fs listquota |
|||
fs help |
|||
pts listentries -help |
|||
pts members s3 |
|||
* unter Unix / Linux ist das meist: '''/etc/openafs/CellAlias''' oder '''/usr/vice/etc''' |
|||
* unter Windows: '''C:\Programme\OpenAFS\Client\CellServDB''' |
|||
== Client-Installation (Zugang zum AFS) == |
|||
Dieses Beispiel auch im AFS und kann von dort aus kopiert werden: |
|||
cp /afs/kip.uni-heidelberg.de/common/etc/CellAlias /etc/openafs |
|||
Damit diese Datei neu eingelesen wird, muss der AFS-Client neugestartet werden. |
|||
=== Die CellServDB === |
|||
Wenn das nicht geht, können diese Aliase auch temporÀr manuell erzeugt werden: |
|||
fs newalias kip kip.uni-heidelberg.de |
|||
fs newalias alihlt alihlt.cern.ch |
|||
fs newalias urz urz.uni-heidelberg.de |
|||
fs listalias |
|||
=== krb5.conf === |
|||
In der '''CellServDB''' sollte fĂŒr die KIP-Zelle folgender Eintrag drin stehen: |
|||
>kip.uni-heidelberg.de |
|||
129.206.176.40 # ldap.kip.uni-heidelberg.de |
|||
129.206.176.149 # ldap2.kip.uni-heidelberg.de |
|||
Die Datei krb5.conf (oder auch krb5.ini) beinhaltet Informationen ĂŒber den Kerberos-Realm, in dem sich der Client befindet. |
|||
Diese Datei ist auch unter '''/afs/kip/common/etc/CellServDB''' zu erreichen. |
|||
Kerberos wird ĂŒber diese Text-Datei konfiguriert. |
|||
* im AFS unter: '''/afs/kip/common/etc/krb5.conf''' |
|||
* im Web unter: '''http://kip1.kip.uni-heidelberg.de/afs/common/etc/krb5.conf''' |
|||
Auf dem lokalen Client-System befindet sie sich: |
|||
=== Linux-Client === |
|||
* unter Linux in: '''/etc/krb5.conf ''' |
|||
Hier am Beispiel von Debian mit einem 2.6.x Kernel. |
|||
* unter Windows in: '''C:\ProgramData\Kerberos\krb5.conf''' |
|||
* oder auch in: '''C:\Windows\krb5.ini''' |
|||
==== Heimdal Kerberos (Client) installieren ==== |
|||
und ihr Inhalt sieht in etwa so aus: |
|||
Dies ist '''optional''', kann aber unter UmstÀnden einiges vereinfachen, |
|||
<pre> |
|||
da unser AFS ja auch auf Heimdal zurĂŒckgreift. |
|||
### KIP krb5.conf - date: 21.11.2012 ### |
|||
[libdefaults] |
|||
aptitude install heimdal-clients |
|||
allow_weak_crypto = true |
|||
default_realm = KIP.UNI-HEIDELBERG.DE |
|||
ticket_lifetime = 2d |
|||
renew_lifetime = 8d |
|||
# The following krb5.conf variables are only for MIT Kerberos. |
|||
Die folgenden Fragen wie folgt beantworten: |
|||
kdc_timesync = 1 |
|||
{|style="margin-left:25px;" |
|||
ccache_type = 4 |
|||
|- |
|||
forwardable = true |
|||
| Kerberos Realm || '''KIP.UNI-HEIDELBERG.DE''' |
|||
proxiable = true |
|||
|- |
|||
renewable = true |
|||
| Hesiod-Domain || '''.kip.uni-heidelberg.de''' |
|||
|- |
|||
| Kerberos Server || '''ldap.kip.uni-heidelberg.de ldap2.kip.uni-heidelberg.de''' |
|||
|- |
|||
| Admin Server von Kerberos || '''ldap.kip.uni-heidelberg.de''' |
|||
|} |
|||
==== OpenAFS installieren ==== |
|||
Binaries installieren: |
|||
aptitude install openafs-client |
|||
Die folgenden Fragen wie folgt beantworten: |
|||
{|style="margin-left:25px;" |
|||
|- |
|||
| AFS-Zelle || '''kip.uni-heidelberg.de''' |
|||
|- |
|||
| GröĂe des AFS-Cache (kb)|| '''50000''' |
|||
|- |
|||
| /afs dynamisch ? || '''Nein''' |
|||
|- |
|||
| Rechnernamen des Datenbank-Servers || '''afsdb1.kip.uni-heidelberg.de''' '''afsdb2.kip.uni-heidelberg.de''' |
|||
|- |
|||
| Openafs-Client starten || '''Ja''' (oder Nein wenn nicht erwĂŒnscht) |
|||
|} |
|||
==== OpenAFS Kernel Modul erstellen/installieren ==== |
|||
Um das Kernel-Modul fĂŒr OpenAFS zu erstellen ist folgendes zu tun: |
|||
aptitude install module-assistant openafs-module-source |
|||
cd /usr/src |
|||
module-assistant build openafs |
|||
module-assistant prepare openafs |
|||
dpkg -i openafs-modules-2.6.18-3-686_1.4.2-4+2.6.18-7_i386.deb |
|||
{{Achtung|Dies gilt nur fĂŒr den aktuellen Kernel und muss fĂŒr andere Kernel dann wiederholte werden!}} |
|||
Nun kann auch der OpenAFS-Client gestartet werden |
|||
/etc/init.d/openafs-client force-start |
|||
Test |
|||
$ ls -l /afs |
|||
lrwxr-xr-x 1 daemon root 21 2007-01-31 12:37 kip -> kip.uni-heidelberg.de |
|||
drwxr-xr-x 2 root root 2048 2007-02-12 12:05 kip.uni-heidelberg.de |
|||
=== Solaris === |
|||
# The following libdefaults parameters are only for Heimdal Kerberos. |
|||
v4_instance_resolve = false |
|||
[realms] |
|||
KIP.UNI-HEIDELBERG.DE = { |
|||
kdc = ldap2.kip.uni-heidelberg.de |
|||
kdc = afsback.kip.uni-heidelberg.de |
|||
kdc = ldap.kip.uni-heidelberg.de |
|||
admin_server = ldap.kip.uni-heidelberg.de |
|||
} |
|||
[domain_realm] |
|||
.kip.uni-heidelberg.de = KIP.UNI-HEIDELBERG.DE |
|||
kip.uni-heidelberg.de = KIP.UNI-HEIDELBERG.DE |
|||
[login] |
|||
krb4_convert = false |
|||
krb4_get_tickets = false |
|||
</pre> |
|||
=== Windows === |
|||
Ein etwas Àlteres Beispiel: |
|||
Installation des Clients im KIP: [[EDV:OpenAFS/Install_winxp]] |
|||
[[Category:EDV|AFS]] |
[[Category:EDV|AFS]] |
||
[[Category:EDV_HowTo|AFS]] |
|||
[[Category:AFS|AFS]] |
[[Category:AFS|AFS]] |
Latest revision as of 13:51, 7 March 2013
Allgemeines
Hier im KIP wird OpenAFS als zentrales Netzwerk-Dateisystem verwendet.
AFS (Andrew File System) ist ein Dateisystem, das die plattformĂŒbergreifende gleichzeitige Nutzung von Dateien zwischen mehreren Rechnern ermöglicht. Es beinhaltet Funktionen zur Zugriffskontrolle (ACLs), Authentifizierung (Kerberos), verschlĂŒsselte DatenĂŒbertragung (fcrypt) und einiges mehr...
UrsprĂŒnglich wurde es an der Carnegie Mellon UniversitĂ€t entwickelt, und danach von der Transarc Corporation, die 1994 von IBM ĂŒbernommen wurde, vermarktet.
Seit 2000 existiert eine parallele Open Source Weiterentwicklung.
Client Installation
Um sich mit dem AFS-Dateiserver zu verbinden, benötigt man (wer hĂ€tte das gedacht) eine entsprechende Client-Software. Diese ist fĂŒr fast alle Betriebssysteme kostenlos verfĂŒgbar.
Weitere Informationen zum Thema:
- FAQ fĂŒr das AFS im KIP: OpenAFS/FAQ
- Das Orginal OpenAFS User Guide
- Das Rechenzentrum hat auch ein AFS: http://www.urz.uni-heidelberg.de/datenhaltung/afs/
Verwendung
Um mit dem AFS-Server arbeiten zu können, muss man sich zuerst authentifizieren (siehe auch Authentifizierung ), da man sonst nur die Reche der Gruppe system:anyuser (also Anonymous / Gast) erhÀlt. Mit diesen ist nur der Zugriff auf allgemeine (öffentliche) Dateien möglich. OpenAFS arbeitet dabei mittlerweile mit Kerberos Verion 5 (Kerberos). Man kann dazu auch die FAQ durchlesen, insbesondere: "Was ist ein Ticket und/oder Token".
Wegen der Rechte im AFS (Access Control Lists) werden von den Unix/Linux-Protection-Bits fĂŒr User, Group und Others werden nur die von User verwendet - dies erfolgt, nachdem die ACL ausgewertet wurde. Weitere Informationen zur Benutzung von AFS.
Wichtig fĂŒr AFS sind synchrone Zeiten der Systemuhren! Deshalb sollte auf jedem Client die Uhrzeit auch stimmen (siehe NTP), sonst kann es passieren, dass die Authentifikation fehlschlĂ€gt. |
Wichtige Konfigurationsdateien
Falls es mal zu Problemen mit dem OpenAFS-Client kommt, ist es gut zu wissen, wo welche Einstellung steht ;)
Nachfolgend die wichtigsten KIP-AFS spezifischen Konfigurationsdateien.
CellServDB
In der CellServDB sollte fĂŒr die KIP-Zelle folgender Eintrag stehen:
>kip.uni-heidelberg.de 129.206.176.40 # ldap.kip.uni-heidelberg.de 129.206.176.149 # ldap2.kip.uni-heidelberg.de
Achtung der 2. Teil ist nicht nur ein Kommentar, dort muss der vollstĂ€ndige Name des Servers stehen (fĂŒr aklog)! |
Diese Datei befindet sich auch
- im AFS unter: /afs/kip/common/etc/CellServDB
und kann fĂŒr die Einstellungen genutzt, bzw. einfach ins Konfigurationsverzeichnis kopiert werden.
- unter Linux meist in: /etc/openafs/CellServDB
- unter Windows vermutlich in: C:\Programme\OpenAFS\Client\CellServDB
ThisCell
Unsere Zelle (Cell) im KIP ist natĂŒrlich kip.uni-heidelberg.de,somit enthĂ€lt die ThisCell-Datei entsprechend nur den Eintrag:
kip.uni-heidelberg.de
CellAlias (nur fĂŒr -dynroot)
Wenn /afs dynamisch generiert wird, sollte die CellAlias-Datei folgendes beinhalten:
kip.uni-heidelberg.de kip alihlt.cern.ch alihlt urz.uni-heidelberg.de urz
Diese Datei muss gegebenenfalls im Konfigurationsverzeichnis des Clients erzeugt werden
- unter Unix / Linux ist das meist: /etc/openafs/CellAlias oder /usr/vice/etc
- unter Windows: C:\Programme\OpenAFS\Client\CellServDB
Dieses Beispiel auch im AFS und kann von dort aus kopiert werden:
cp /afs/kip.uni-heidelberg.de/common/etc/CellAlias /etc/openafs
Damit diese Datei neu eingelesen wird, muss der AFS-Client neugestartet werden. Wenn das nicht geht, können diese Aliase auch temporÀr manuell erzeugt werden:
fs newalias kip kip.uni-heidelberg.de fs newalias alihlt alihlt.cern.ch fs newalias urz urz.uni-heidelberg.de fs listalias
krb5.conf
Die Datei krb5.conf (oder auch krb5.ini) beinhaltet Informationen ĂŒber den Kerberos-Realm, in dem sich der Client befindet. Kerberos wird ĂŒber diese Text-Datei konfiguriert.
- im AFS unter: /afs/kip/common/etc/krb5.conf
- im Web unter: http://kip1.kip.uni-heidelberg.de/afs/common/etc/krb5.conf
Auf dem lokalen Client-System befindet sie sich:
- unter Linux in: /etc/krb5.conf
- unter Windows in: C:\ProgramData\Kerberos\krb5.conf
- oder auch in: C:\Windows\krb5.ini
und ihr Inhalt sieht in etwa so aus:
### KIP krb5.conf - date: 21.11.2012 ### [libdefaults] allow_weak_crypto = true default_realm = KIP.UNI-HEIDELBERG.DE ticket_lifetime = 2d renew_lifetime = 8d # The following krb5.conf variables are only for MIT Kerberos. kdc_timesync = 1 ccache_type = 4 forwardable = true proxiable = true renewable = true # The following libdefaults parameters are only for Heimdal Kerberos. v4_instance_resolve = false [realms] KIP.UNI-HEIDELBERG.DE = { kdc = ldap2.kip.uni-heidelberg.de kdc = afsback.kip.uni-heidelberg.de kdc = ldap.kip.uni-heidelberg.de admin_server = ldap.kip.uni-heidelberg.de } [domain_realm] .kip.uni-heidelberg.de = KIP.UNI-HEIDELBERG.DE kip.uni-heidelberg.de = KIP.UNI-HEIDELBERG.DE [login] krb4_convert = false krb4_get_tickets = false
Ein etwas Àlteres Beispiel:
Installation des Clients im KIP: EDV:OpenAFS/Install_winxp