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. Der Server ist ausschließlich innerhalb des Uni-Netzes UKLAN erreichbar, für den Zugriff von außerhalb bauen Sie zuvor bitte eine VPN-Verbindung auf.
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 allermeisten Fällen nicht sinnvoll, dies einfach für das gesamte Projektverzeichnis zu tun, Sie sollten stattdessen 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 auf Verzeichnisse (incl. Vererbung) 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.
Ebenso können Sie die Schreibberechtigung auch gezielt für Dateien erteilen:
nfs4_setfacl -m A::w-teblo@rrz.uni-koeln.de:RX A::w-teblo@rrz.uni-koeln.de:RWX dateiname
(natürlich auch hier mit dem korrekten Webserver-Namen)
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. Der Server ist ausschließlich innerhalb des Uni-Netzes UKLAN erreichbar, für den Zugriff von außerhalb bauen Sie zuvor bitte eine VPN-Verbindung auf.
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
Contact
If you have any questions or problems, please contact the RRZK-Helpdesk