Unterabschnitte

Das NFSserver-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 (nur bei eisfair-1).

Die Funktionen

Das NFSserver-Paket besteht aus folgenden Komponenten:

Die Voraussetzungen

Ein lauffähiger eisfair-Server ;-)

Die Installation

Das NFSserver-Paket wird über das Setup-Menü installiert. Wird eine ältere Paketversion vorgefunden, so wird diese deinstalliert bevor die neuen Programmdateien installiert werden. Nach dem Installieren der Programmdateien wird direkt der Konfigurations-Editor gestartet um die Konfiguration anzupassen. Nach Beendigung dieses Schrittes werden die Konfigurationsdateien generiert und alle benötigten Programme gestartet.

Das Menü im Setup-Programm

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

Die Menüpunkte dürften selbsterklärend sein, da sie keinerlei weitere Eingaben erwarten. Deshalb wird auf deren Funktion nicht weiter eingegangen.

Die Änderung der Konfiguration

Die Konfiguration kann über den Menüpunkt 'Edit configuration' geändert werden. Standardmäßig wird der Editor aufgerufen, der in der Environment-Konfiguration über die Variable 'EDITOR' festgelegt wurde. Nachdem der Editor beendet wurde wird abgefragt, ob die Konfiguration aktiviert werden soll. Wird dies bestätigt, werden über ein Skript die Anpassungen 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/nfsserver.

Die Parameter

START_NFSSERVER

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_NFSSERVER='no'

NFSSERVER_SUPPORT_NFS3 (nur eisfair-1)

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

Gültige Werte: yes, no

Standardeinstellung: NFSSERVER_SUPPORT_NFS3='yes'

NFSSERVER_SUPPORT_NFS4 (nur eisfair-1)

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

Gültige Werte: yes, no

Standardeinstellung: NFSSERVER_SUPPORT_NFS4='yes'

NFSSERVER_SHARE_N

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

Gültige Werte: Zahl

Standardeinstellung: NFSSERVER_SHARE_N='0'

NFSSERVER_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: NFSSERVER_SHARE_1_ACTIVE='no'

NFSSERVER_SHARE_x_PATH

Über diesen Parameter wird das Verzeichnis angegeben welches über eine NFS-Freigabe zur Verfügung gestellt werden soll.
Nur für eisfair-1: Um das NFSv4-Stammfreigabeverzeichnis festzulegen muss der Wert dieses Parameters auf 'nfs4' gesetzt werden.

Gültige Werte: Pfadangabe oder 'nfs4' (nur eisfair-1)

Beispiel:

NFSSERVER_SHARE_1_PATH='/public'

NFSSERVER_SHARE_x_NAME (nur eisfair-1)

Über diesen Parameter wird ein NFSv4-Freigabename festgelegt, über welchen auf die freigegebenen Daten zugegriffen werden kann.
ACHTUNG
Für NFSv3-Freigaben darf dieser Parameter nicht gesetzt werden und muss leer bleiben!


Gültige Werte: Freigabename

Standardeinstellung: NFSSERVER_SHARE_1_NAME=''

Beispiel:

NFSSERVER_SHARE_1_NAME='my-public-dir'

NFSSERVER_SHARE_x_HOSTS_N

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

Gültige Werte: Zahl

Standardeinstellung: NFSSERVER_SHARE_1_HOSTS_N='0'

NFSSERVER_SHARE_x_HOSTS_x_HOST

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

Gültige Werte: IP-Adressse oder Netzwerkadresse

Beipiel:

NFSSERVER_SHARE_1_HOSTS_N='2'
NFSSERVER_SHARE_1_HOSTS_1_HOST='192.168.6.10'
NFSSERVER_SHARE_1_HOSTS_2_HOST='192.168.7.0/24'

NFSSERVER_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: NFSSERVER_SHARE_1_HOSTS_1_RW='no'

NFSSERVER_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: NFSSERVER_SHARE_1_HOSTS_1_ANONUSER=''

NFSSERVER_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: NFSSERVER_SHARE_1_HOSTS_1_ANONGROUP=''

NFSSERVER_SHARE_x_HOSTS_x_ROOT_SQUASH

Normalerweise ist es nicht erwünscht, dass ein root-User 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-Users durchgeführt. Wird dieser Parameter auf 'no' gesetzt, so wird diese Sicherheitsfunktion deaktiviert.

Gültige Werte: yes, no

Standardeinstellung: NFSSERVER_SHARE_1_HOSTS_1_ROOT_SQUASH='yes'

NFSSERVER_SHARE_x_HOSTS_x_ALL_SQUASH

Normalerweise ist es erwünscht, dass ein User 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-Users.

Gültige Werte: yes, no

Standardeinstellung: NFSSERVER_SHARE_1_HOSTS_1_ALL_SQUASH='no'

NFSSERVER_SHARE_x_HOSTS_x_OPTION

Optional: Über diesen Parameter können zusätzliche Optionen angegeben werden, die beim das Verhalten einer Freigabe beinflussen. 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 Kommas getrennt

Beispiel: NFSSERVER_SHARE_1_HOSTS_1_OPTION='insecure'

Verschiedenes

NFS Version 4-Freigaben (nur eisfair-1)

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 NFSserver-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 indem man .._PATH='nfs4' und z.B. .._NAME='SHARE-NAME' setzt. Der definierte Name 'SHARE-NAME' dient dabei einzig dem Anlegen der Verzeichnisastruktur und wird später nicht für den NFS-Zugriff verwendet. Falls man also auf dieses Stammverzeichnis (root) mittels NFS zugreifen möechte, muss man die Angabe '/' verwenden.

NFSSERVER_SUPPORT_NFS4='yes'

NFSSERVER_SHARE_1_ACTIVE='yes'
NFSSERVER_SHARE_1_PATH='nfs4'
NFSSERVER_SHARE_1_NAME='SHARE-NAME'
NFSSERVER_SHARE_1_HOSTS_N='1'
NFSSERVER_SHARE_1_HOSTS_1_HOST='192.168.6.0/24'
NFSSERVER_SHARE_1_HOSTS_1_RW='yes'
NFSSERVER_SHARE_1_HOSTS_1_ANONUSER=''
NFSSERVER_SHARE_1_HOSTS_1_ANONGROUP=''
NFSSERVER_SHARE_1_HOSTS_1_ROOT_SQUASH='no'
NFSSERVER_SHARE_1_HOSTS_1_ALL_SQUASH='no'
NFSSERVER_SHARE_1_HOSTS_1_OPTION='insecure,wdelay'

Anschließend definiert man die NFSv4-Verzeichnisfreigaben, indem man jeweils den Parameter .._NAME auf den gewünschten Freigabenamen setzt, über welchen den NFS-Zugriff erfolgen soll.

NFSSERVER_SHARE_2_ACTIVE='yes'
NFSSERVER_SHARE_2_PATH='/path/to/share-1'
NFSSERVER_SHARE_2_NAME='my-share-1'
NFSSERVER_SHARE_2_HOSTS_N='1'
NFSSERVER_SHARE_2_HOSTS_1_HOST='192.168.6.0/24'
NFSSERVER_SHARE_2_HOSTS_1_RW='no'
NFSSERVER_SHARE_2_HOSTS_1_ANONUSER='nobody'
NFSSERVER_SHARE_2_HOSTS_1_ANONGROUP='nogroup'
NFSSERVER_SHARE_2_HOSTS_1_ROOT_SQUASH='no'
NFSSERVER_SHARE_2_HOSTS_1_ALL_SQUASH='yes'
NFSSERVER_SHARE_2_HOSTS_1_OPTION='insecure,wdelay,nohide'

NFSSERVER_SHARE_4_ACTIVE='yes'
NFSSERVER_SHARE_4_PATH='/path/to/share-2'
NFSSERVER_SHARE_4_NAME='my-share-2'
NFSSERVER_SHARE_4_HOSTS_N='1'
NFSSERVER_SHARE_4_HOSTS_1_HOST='192.168.6.0/24'
NFSSERVER_SHARE_4_HOSTS_1_RW='yes'
NFSSERVER_SHARE_4_HOSTS_1_ANONUSER=''
NFSSERVER_SHARE_4_HOSTS_1_ANONGROUP=''
NFSSERVER_SHARE_4_HOSTS_1_ROOT_SQUASH='no'
NFSSERVER_SHARE_4_HOSTS_1_ALL_SQUASH='no'
NFSSERVER_SHARE_4_HOSTS_1_OPTION='insecure,wdelay,nohide'

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

NFSCLIENT_MOUNT_1_ACTIVE='yes'
NFSCLIENT_MOUNT_1_HOST='host name or ip address of NFSv4 server'
NFSCLIENT_MOUNT_1_TYPE='nfs4'
NFSCLIENT_MOUNT_1_MOUNTPOINT='/my-share-1'
NFSCLIENT_MOUNT_1_DIRECTORY='/nfs/my-share-1'
NFSCLIENT_MOUNT_1_OPTION='proto=tcp,fg,hard,intr,timeo=7,retrans=4,retry=3,actimeo=3,sec=sys'

NFSCLIENT_MOUNT_2_ACTIVE='yes'
NFSCLIENT_MOUNT_2_HOST='host name or ip address of NFSv4 server'
NFSCLIENT_MOUNT_2_TYPE='nfs4'
NFSCLIENT_MOUNT_2_MOUNTPOINT='/my-share-2'
NFSCLIENT_MOUNT_2_DIRECTORY='/mfs/my-share-2'
NFSCLIENT_MOUNT_2_OPTION='proto=tcp,fg,hard,intr,timeo=7,retrans=4,retry=3,actimeo=3,sec=sys'

eis 2017-05-03