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: * [1]NFS-Utils - stellt die rpc.Daemons zur Verfügung. 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_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 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_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 [3]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_HOSTS_N='1' NFS_SERVER_BASE_SHARE_HOSTS_1_HOST='192.168.6.0/24' NFS_SERVER_BASE_SHARE_HOSTS_1_RW='yes' NFS_SERVER_BASE_SHARE_HOSTS_1_ANONUSER='' NFS_SERVER_BASE_SHARE_HOSTS_1_ANONGROUP='' NFS_SERVER_BASE_SHARE_HOSTS_1_ROOT_SQUASH='no' NFS_SERVER_BASE_SHARE_HOSTS_1_ALL_SQUASH='no' NFS_SERVER_BASE_SHARE_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,retran s=4,retry=3,actimeo=3,sec=sys' __________________________________________________________________