zum Inhalt springen

Schreibrechte für Webserver in NFS-Webprojekten

Seit Mai 2018 werden Webprojekte am RRZK im Dateisystem NFS eingerichtet. Die folgenden Informationen betreffen ausschließlich Webauftritte und -projekte, die im Dateisystem NFS eingerichtet wurden.

Als Administrator eines Webprojektes haben Sie die Möglichkeit, dem Webserver in bestimmten Verzeichnissen Schreibrechte zu gewähren. Dies ist häufig bei der Verwendung von Content Management Systemen oder ähnlicher Standardsoftware erforderlich. Dazu loggen Sie sich per SSH auf dem Server dialog.rrz.uni-koeln.de ein und wechseln in Ihr Projektverzeichnis.

Zunächst gilt es, den Namen Ihres Webservers herauszufinden. Rufen Sie dazu das Kommando "nfs4_getfacl ." in Ihrem Projektverzeichnis auf. Es sollte eine Liste in dieser Form erscheinen:

 $ nfs4_getfacl . 
    A:fd:w-teblo@rrz.uni-koeln.de:rxtncy
    A:fdg:www-staff@rrz.uni-koeln.de:rwaDdxtTnNcCy
    A:fdg:wp-testblog@rrz.uni-koeln.de:rwaDdxtTnNcCy
    A::OWNER@:rwaDxtTnNcCy
    A:g:GROUP@:rwaDxtTnNcy
    A::EVERYONE@:tncy 

Der Name des Webservers beginnt stets mit "w-" (in diesem Falle "w-teblo"). Wechseln Sie nun in das Verzeichnis, in dem Sie dem Webserver Schreibrechte einrichten möchten. Es ist in den allerseltensten Fällen sinnvoll, dies einfach für das gesamte Projektverzeichnis zu tun, Sie sollten hier unbedingt gezielt vorgehen. Sie haben nun die Wahl, die Rechte rekursiv (also inklusive aller Unterverzeichnisse) oder nur für dieses eine Verzeichnis anzulegen. Zum gezielten Setzen von Schreibrechten verwenden Sie zum Beispiel den Befehl:

nfs4_setfacl -m A:fd:w-teblo@rrz.uni-koeln.de:RX A:fd:w-teblo@rrz.uni-koeln.de:RWX .

(natürlich mit dem korrekten Webserver-Namen)

Für die rekursive Variante ergänzen Sie das "-m" zu "-Rm". Analog können Sie die Berechtigung durch den Tausch von "RX" und "RWX" auch wieder entziehen.

ACL Format

NFS ACLs bestehen aus vier Feldern:

type:flags:principal:permissions

Type:

  • A (Allow): erlaubt principal Aktionen auszuführen, die permissions erfordern
  • D (Deny): verbietet principal Aktionen auszuführen, die permissions erfordern

Flags:

  • g (group): principal wird als Gruppe statt als User interpretiert
  • d (directory-inherit): neu erstellte Unterordner erben diese ACLs
  • n (no-propagate-inherit): neu erstellte Unterordner erben diese ACLs abzüglich des inherit-flags
  • f (file-inherit): neu erstellte Dateien erben die ACLs abzüglich der inherit-flags
  • i (inherit-only): die ACLs werden bei der Berechtigungsprüfung nicht berücksichtigt, sind aber vererbbar; allerdings wird bei Vererbung des inherit-only Flag gelöscht

ACL Flags können beliebig kombiniert werden.

Principal:

principal ist entweder ein Benutzer (webserver@rrz.uni-koeln.de), oder eine Gruppe (sofern das Gruppenflag gesetzt ist), oder einer der drei speziellen Werte OWNER@, GROUP@ oder EVERYONE@, die jeweils analog zu den POSIX-Benutzern/Gruppen/anderen Unterscheidungen sind, die bspw. in chmod genutzt werden.

Permissions:

  • R: Alias für rntcy
  • W: Alias für watTNcCy (und zusätzlich D für Verzeichnisse)
  • X: Alias für xtcy

  • r: read-data (files) / list-directory (directories)
  • w: write-data (files) / create-file (directories)
  • a: append-data (files) / create-subdirectory (directories)
  • x: execute (files) / change-directory (directories)
  • d: delete (file/directory)
  • D: delete-child - remove a file or subdirectory from within the given directory (directories only)
  • t: read-attributes - read the attributes of the file/directory
  • T: write-attributes - write the attributes of the file/directory
  • n: read-named-attributes - read the named attributes of the file/directory
  • N: write-named-attributes - write the named attributes of the file/directory
  • c: read-ACL - read the file/directory NFSv4 ACL
  • C: write-ACL - write the file/directory NFSv4 ACL
  • o: write-owner - change ownership of the file/directory

Schreibrechte für Webserver in AFS-Projekten

ACHTUNG: Die folgenden Informationen betreffen ausschließlich Webauftritte und -projekte, die im Dateisystem AFS eingerichtet wurden. Diese wurden i.d.R. bis einschließlich April 2018 erstellt.

Als Administrator eines Webprojektes haben Sie die Möglichkeit, dem Webserver in bestimmten Verzeichnissen Schreibrechte zu gewähren. Dies ist häufig bei der Verwendung von Content Management Systemen oder ähnlicher Standardsoftware erforderlich.

Dazu loggen Sie sich beispielsweise per SSH auf dem Server dialog.rrz.uni-koeln.de ein und wechseln in Ihr Projektverzeichnis.

Zunächst gilt es, den Namen Ihres Webservers herauszufinden. Rufen Sie dazu das Kommando "fs la" in Ihrem Projektverzeichnis auf. Es sollte eine Liste in dieser Form erscheinen:

 

Access list for . is
Normal rights:
  webpro0:pro_xena_n rlidwk
  webpro0:pro_xena_a rlidwka
  wwwadm1:wm rlidwka
  system:administrators rlidwka
  wwwadm1 rlidwka
  webpro0 rlidwka
  w-xena rl

 

Den Namen des Webservers finden Sie in der Regel als letzten Eintrag in dieser Liste (in diesem Falle "w-xena"). Bei neueren Projekten beginnt er stets mit "w-", bei älteren Projekten beginnt er mit "webpro" gefolgt von einer Nummer größer 0.

Wechseln Sie nun in das Verzeichnis, in dem Sie dem Webserver Schreibrechte einrichten möchten. Es ist in den allerseltensten Fällen sinnvoll, dies einfach für das gesamte Projektverzeichnis zu tun, Sie sollten hier unbedingt gezielt vorgehen. Sie haben nun die Wahl, die Rechte rekursiv (also inklusive aller Unterverzeichnisse) oder nur für dieses eine Verzeichnis anzulegen. Für die rekursive Variante verwenden Sie zum Beispiel den Befehl:

 

/vol/info/www/tools/bin/fsw w-xena

 

Die gezielte Methode lautet:

 

fs sa . -acl w-xena write

 

Möchten Sie die Rechte später wieder entziehen, lauten die Befehle analog:

 

/vol/info/www/tools/bin/fsr w-xena

 

Beziehungsweise:

 

fs sa . -acl w-xena read

Kontakt
Bei Fragen und für eine individuelle Beratung wenden Sie sich bitte an den RRZK-Helpdesk