Unterabschnitte


Das NFS-Server-Paket

Die Einleitung

Dieser Paket ermöglicht es Verzeichnisse freizugeben, sodass von anderen Rechnern auf diese zugegriffen werden kann. Verwendung findet hierbei das Network File System Protokoll, Version 3 oder Version 4

Die Funktionen

Das NFS-Server-Paket besteht aus folgenden Komponenten:

Die Voraussetzungen

Ein lauffähiger eisfair-Server ;-)

Die Installation

Das nfs-server-Paket wird über das Setup-Menü installiert. Wird eine ältere Paketversion vorgefunden, so wird diese deinstalliert bevor die neuen Programmdateien installiert werden.

Das Menü im Setup-Programm

Das Menü im Setup-Programm ist wie folgt aufgebaut:

  1. System administration  
  x. Network administration    
  x. NFS-Server Service    
  1. View documentation    
  2. Edit configuration    
  3. Advanced configuration file handling    
  4. Show status    
  5. Stop service    
  6. Start service    
  7. Show list of NFS shares    
  8. Show list of active NFS server mounts    
  9. View log file    

Die Änderung der Konfiguration

Die Konfiguration kann über den Menüpunkt „Edit configuration“ geändert werden. Nachdem der Editor beendet wurde wird abgefragt, ob die Konfiguration aktiviert werden soll. Wird dies bestätigt, werden über ein Skript die modifizierten Änderungen umgehend wirksam gemacht.

Die Konfigurationsdatei

In der Konfigurationsdatei, die über das Menü zugänglich ist, sind folgende Parameter vorhanden; wer sie von Hand editieren will findet sie unter
/etc/config.d/nfs-server

Die Parameter

START_NFS_SERVER

Für die Aktivierung des NFS-Servers muss dieser Parameter lediglich auf den Wert 'yes' gestellt werden. Die Einstellung 'no' deaktiviert den NFS-Server.

Gültige Werte: yes, no

Standardeinstellung: START_NFS_SERVER='no'

NFS_SERVER_SUPPORT_NFS3

Wird dieser Parameter auf den Wert 'yes' gesetzt, so wird die NFSv3-Unterstützung aktiviert, 'no' deaktiviert sie.

Gültige Werte: yes, no

Standardeinstellung: NFS_SERVER_SUPPORT_NFS3='yes'

NFS_SERVER_SUPPORT_NFS4

Wird dieser Parameter auf den Wert 'yes' gesetzt, so wird die NFSv4-Unterstützung aktiviert, 'no' deaktiviert sie.

Gültige Werte: yes, no

Standardeinstellung: NFS_SERVER_SUPPORT_NFS4='yes'

NFS4 Stammverzeichnis

Zuerst erfolgen die Einstellungen für das NFS4 Stammverzeichnis (BASE_SHARE), erforderlich bei: NFS_SERVER_SUPPORT_NFS4='yes'

NFS_SERVER_BASE_SHARE_HOSTS_x_N

Über diesen Parameter wird die Anzahl der NFS-Base Freigaben festgelegt.

Gültige Werte: Zahl

Standardeinstellung: NFS_SERVER_BASE_SHARE_N='0'

NFS_SERVER_BASE_SHARE_HOSTS_x_HOST

Über diesen Parameter wird angegeben welcher Host bzw. aus welchem Netzwerk auf das BASE_SHARE Verzeichnis zugegriffen werden darf.

Gültige Werte: IP-Adresse oder Netzwerkadresse

Beispiel:

NFS_SERVER_BASE_SHARE_HOSTS_N='2'
NFS_SERVER_BASE_SHARE_HOSTS_1_HOST='192.168.6.10'
NFS_SERVER_BASE_SHARE_HOSTS_2_HOST='192.168.7.0/24'

NFS_SERVER_BASE_SHARE_HOSTS_x_RW

Dieser Parameter legt fest, ob auf das freigegebene Verzeichnis schreibend und lesend zugegriffen werden darf. Wird der Parameter auf 'no' gesetzt, so ist nur lesender Zugriff erlaubt.

Gültige Werte: yes, no

Standardeinstellung: NFS_SERVER_BASE_SHARE_HOSTS_x_RW='no'

NFS_SERVER_BASE_SHARE_HOSTS_x_ANONUSER

Über diesen Parameter kann ein System-Accountname angegeben werden, mit dessen Zugriffsrechten auf das freigegebene Verzeichnis zugegriffen werden soll. Die individuellen Rechte des zugreifenden Anwenders werden damit überschrieben.

Gültige Werte: System-Accountname

Standardeinstellung: NFS_SERVER_BASE_SHARE_HOSTS_x_ANONUSER=''

NFS_SERVER_BASE_SHARE_HOSTS_x_ANONGROUP

Über diesen Parameter kann ein System-Gruppenname angegeben werden, mit dessen Zugriffsrechten auf das freigegebene Verzeichnis zugegriffen werden soll. Die individuellen Rechte des zugreifenden Anwenders werden damit überschrieben.

Gültige Werte: System-Gruppenname

Standardeinstellung: NFS_SERVER_BASE_SHARE_HOSTS_x_ANONGROUP=''

NFS_SERVER_BASE_SHARE_HOSTS_x_ROOT_SQUASH

Normalerweise ist es nicht erwünscht, dass ein root-Benutzer von einem Client-Rechner ebenfalls root-Rechte beim Zugriff auf das freigegebene Verzeichnis erhält. Standardmäßig werden deshalb die NFS-Zugriffe mit den Zugriffsrechten des nobody-Benutzer durchgeführt. Wird dieser Parameter auf 'no' gesetzt, so wird diese Sicherheitsfunktion deaktiviert.

Gültige Werte: yes, no

Standardeinstellung: NFS_SERVER_BASE_SHARE_HOSTS_x_ROOT_SQUASH='yes'

NFS_SERVER_BASE_SHARE_HOSTS_x_ALL_SQUASH

Normalerweise ist es erwünscht, dass ein Benutzer von einem Client-Rechner mit seinen eigenen Zugriffsrechten auf das freigegebene Verzeichnis Zugriff erhält. Wird dieser Parameter auf 'yes' gesetzt, so wird diese Sicherheitsfunktion aktiviert und alle Zugriffe erfolgen mit den Zugriffsrechten des nobody-Benutzers.

Gültige Werte: yes, no

Standardeinstellung: NFS_SERVER_BASE_SHARE_HOSTS_x_ALL_SQUASH='no'

NFS_SERVER_BASE_SHARE_HOSTS_x_OPTION

Optional: Über diesen Parameter können zusätzliche Optionen angegeben werden, die beim das Verhalten einer Freigabe beeinflussen. Wird z.B. 'insecure' angegeben so werden auch NFS-Verbindungen auf Ports größer als 1024 entgegen genommen (OSX verlangt dies z.B.)

Gültige Werte: Zulässige Optionen durch Komma getrennt

Beispiel: NFS_SERVER_BASE_SHARE_HOSTS_x_OPTION='insecure'

Freigaben

Hier erfolgen dann die Einstellungen für die einzelnen Freigaben

NFS_SERVER_SHARE_N

Über diesen Parameter wird die Anzahl der NFS-Freigaben festgelegt.

Gültige Werte: Zahl

Standardeinstellung: NFS_SERVER_SHARE_N='0'

NFS_SERVER_SHARE_x_NAME

An dieser Stelle kann eine Beschreibung hinterlegt werden, z. B. welcher Host oder irgend etwas anderes. NFS-Server wertet diesen Parameter nicht aus.

Gültige Werte: alles

Standardeinstellung: NFS_SERVER_SHARE_x_NAME=''

NFS_SERVER_SHARE_x_ACTIVE

Wird dieser Parameter auf den Wert 'yes' gesetzt, so wird die zugehörige NFS-Freigabe aktiviert, 'no' deaktiviert sie.

Gültige Werte: yes, no

Standardeinstellung: NFS_SERVER_SHARE_x_ACTIVE='no'

NFS_SERVER_SHARE_x_PATH

Über diesen Parameter wird das Verzeichnis angegeben welches über eine NFS-Freigabe zur Verfügung gestellt werden soll.

Gültige Werte: Pfadangabe

Beispiel: NFS_SERVER_SHARE_x_PATH='/public'

NFS_SERVER_SHARE_x_NFS4

Über diesen Parameter wird die NFS4-Freigabe eingeschaltet.

Gültige Werte: yes, no

Standardeinstellung: NFS_SERVER_SHARE_x_NFS4='no'

NFS_SERVER_SHARE_x_NFS4_NAME

Über diesen Parameter wird ein NFSv4-Freigabename festgelegt, über welchen auf die freigegebenen Daten zugegriffen werden kann.

Gültige Werte: Freigabename

Beispiel: NFS_SERVER_SHARE_x_NFS4_NAME='my-public-dir'

NFS_SERVER_SHARE_x_HOSTS_N

Über diesen Parameter wird die Anzahl der individuell konfigurierten Hosts bzw. Netzwerke festgelegt.

Gültige Werte: Zahl

Standardeinstellung: NFS_SERVER_SHARE_x_HOSTS_N='0'

NFS_SERVER_SHARE_x_HOSTS_x_HOST

Über diesen Parameter wird angegeben welcher Host bzw. aus welchem Netzwerk auf das über den Parameter NFS_SERVER_SHARE_x_PATH freigegebene Verzeichnis zugegriffen werden darf.

Gültige Werte: IP-Adresse oder Netzwerkadresse

Beispiel:

NFS_SERVER_SHARE_1_HOSTS_N='2'
NFS_SERVER_SHARE_1_HOSTS_1_HOST='192.168.6.10'
NFS_SERVER_SHARE_1_HOSTS_2_HOST='192.168.7.0/24'

NFS_SERVER_SHARE_x_HOSTS_x_RW

Dieser Parameter legt fest, ob auf das angegebene Verzeichnis schreibend und lesend zugegriffen werden darf. Wird der Parameter auf 'no' gesetzt, so ist nur lesender Zugriff erlaubt.

Gültige Werte: yes, no

Standardeinstellung: NFS_SERVER_SHARE_x_HOSTS_x_RW='no'

NFS_SERVER_SHARE_x_HOSTS_x_ANONUSER

Über diesen Parameter kann ein System-Accountname angegeben werden, mit dessen Zugriffsrechten auf das freigegebene Verzeichnis zugegriffen werden soll. Die individuellen Rechte des zugreifenden Anwenders werden damit überschrieben.

Gültige Werte: System-Accountname

Standardeinstellung: NFS_SERVER_SHARE_x_HOSTS_x_ANONUSER=''

NFS_SERVER_SHARE_x_HOSTS_x_ANONGROUP

Über diesen Parameter kann ein System-Gruppenname angegeben werden, mit dessen Zugriffsrechten auf das freigegebene Verzeichnis zugegriffen werden soll. Die individuellen Rechte des zugreifenden Anwenders werden damit überschrieben.

Gültige Werte: System-Gruppenname

Standardeinstellung: NFS_SERVER_SHARE_x_HOSTS_x_ANONGROUP=''

NFS_SERVER_SHARE_x_HOSTS_x_ROOT_SQUASH

Normalerweise ist es nicht erwünscht, dass ein root-Benutzer von einem Client-Rechner ebenfalls root-Rechte beim Zugriff auf das freigegebene Verzeichnis erhält. Standardmäßig werden deshalb die NFS-Zugriffe mit den Zugriffsrechten des nobody-Benutzer durchgeführt. Wird dieser Parameter auf 'no' gesetzt, so wird diese Sicherheitsfunktion deaktiviert.

Gültige Werte: yes, no

Standardeinstellung: NFS_SERVER_SHARE_x_HOSTS_x_ROOT_SQUASH='yes'

NFS_SERVER_SHARE_x_HOSTS_x_ALL_SQUASH

Normalerweise ist es erwünscht, dass ein Benutzer von einem Client-Rechner mit seinen eigenen Zugriffsrechten auf das freigegebene Verzeichnis Zugriff erhält. Wird dieser Parameter auf 'yes' gesetzt, so wird diese Sicherheitsfunktion aktiviert und alle Zugriffe erfolgen mit den Zugriffsrechten des nobody-Benutzers.

Gültige Werte: yes, no

Standardeinstellung: NFS_SERVER_SHARE_x_HOSTS_x_ALL_SQUASH='no'

NFS_SERVER_SHARE_x_HOSTS_x_OPTION

Optional: Über diesen Parameter können zusätzliche Optionen angegeben werden, die beim das Verhalten einer Freigabe beeinflussen. Wird z.B. 'insecure' angegeben so werden auch NFS-Verbindungen auf Ports größer als 1024 entgegen genommen (OSX verlangt dies z.B.)

Gültige Werte: Zulässige Optionen durch Komma getrennt

Beispiel: NFS_SERVER_SHARE_x_HOSTS_x_OPTION='insecure'

Verschiedenes

NFS Version 4-Freigaben

NFS Version 4-Verzeichnisfreigaben unterscheiden sich grundsätzlich von den bisher bekannten NFS-Freigaben, da nun nicht mehr direkt Verzeichnisse für den Zugriff freigegeben werden, sondern nur noch Verzeichnisse in einer virtuellen Verzeichnisstruktur. Die freizugebenden Verzeichnisse werden dazu vom NFS-Server-Paket in diese Verzeichnisstruktur eingehängt.

Beispiel:

Es sollen die folgenden Verzeichnisse freigegeben werden:

/path/to/share-1
/path/to/share-2

Im ersten Schritt definiert man dazu die NFSv4-Stammfreigabe

NFS_SERVER_SUPPORT_NFS4='yes'

NFS_SERVER_BASE_SHARE_1_HOSTS_N='1'
NFS_SERVER_BASE_SHARE_1_HOSTS_1_HOST='192.168.6.0/24'
NFS_SERVER_BASE_SHARE_1_HOSTS_1_RW='yes'
NFS_SERVER_BASE_SHARE_1_HOSTS_1_ANONUSER=''
NFS_SERVER_BASE_SHARE_1_HOSTS_1_ANONGROUP=''
NFS_SERVER_BASE_SHARE_1_HOSTS_1_ROOT_SQUASH='no'
NFS_SERVER_BASE_SHARE_1_HOSTS_1_ALL_SQUASH='no'
NFS_SERVER_BASE_SHARE_1_HOSTS_1_OPTION=''

Im zweiten Schrittr definiert man dann die NFSv4-Freigabe

NFS_SERVER_SHARE_1_NAME=''
NFS_SERVER_SHARE_1_ACTIVE='yes'
NFS_SERVER_SHARE_1_PATH='/path/to/share-1'
NFS_SERVER_SHARE_1_NFS4='yes'
NFS_SERVER_SHARE_1_NFS4_NAME='my-share-1'
NFS_SERVER_SHARE_1_HOSTS_N='1'
NFS_SERVER_SHARE_1_HOSTS_1_HOST='192.168.6.0/24'
NFS_SERVER_SHARE_1_HOSTS_1_RW='yes'
NFS_SERVER_SHARE_1_HOSTS_1_ANONUSER=''
NFS_SERVER_SHARE_1_HOSTS_1_ANONGROUP=''
NFS_SERVER_SHARE_1_HOSTS_1_ROOT_SQUASH='no'
NFS_SERVER_SHARE_1_HOSTS_1_ALL_SQUASH='no'
NFS_SERVER_SHARE_1_HOSTS_1_OPTION='insecure,wdelay,nohide'

Falls nun mittels des nfs-client-Paketes von einem anderen Server auf die definierten Freigaben zugegriffen werden soll, müsste die Konfiguration etwa wie folgt aussehen:

NFS_CLIENT_MOUNT_1_NAME=''
NFS_CLIENT_MOUNT_1_ACTIVE='yes'
NFS_CLIENT_MOUNT_1_REMOTE_HOST='host name or ip address of NFSv4 server'
NFS_CLIENT_MOUNT_1_REMOTE_DIRECTORY='/my-share-1'
NFS_CLIENT_MOUNT_1_TYPE='nfs4'
NFS_CLIENT_MOUNT_1_LOCAL_DIRECTORY='/nfs/my-share-1'
NFS_CLIENT_MOUNT_1_OPTION='proto=tcp,fg,hard,intr,timeo=7,retrans=4,retry=3,actimeo=3,sec=sys'