[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Hilfe bei Dateirechten



Am 16.07.2014 21:02, schrieb Marco Brüggemann:
Hallo Leute,

für mich ist das ein großes Problem an dem ich nun schon 3 oder 4 Wochen
arbeite, und ich komme zu keiner Lösung. Darum bitte ich um eure Hilfe.

A) System:

VServer mit Debian7, Apache2, php5, Mysql und proFTPd
Alle Webseiten basieren auf Typo3

B) Was soll es werden/sein

Ein Server für mehrere Webseiten für verschiedene Benutzer, welche für
die jeweilige Webseite einen FTP-Zugang haben. Jeder FTP-User ist in
seinem home-Verzeichnis eingesperrt

C) Arbeiten auf dem Server

Da ich nun schon zwei mal mit einem falschen Befehl meinen Server kaputt
bekommen habe, will ich die Arbeiten auf dem Server nicht mehr mit
"root" durchführen. Der direkte login mit "root" ist untersagt.

Der Benutzer "ServerArbeit" soll nur Arbeiten durchführen können, die
webseitenrelevante Arbeiten sind: FTP-user einrichten/löschen/ändern,
Datenbanken einrichten/löschen/ändern, Dateirechte
einrichten/löschen/ändern, Verzeichnis- und Dateiarbeiten, anlegen der
Virtuellen URL in Apache.

Dafür habe ich bereits über "visudo" die nötigen Rechte vergeben.

D) FTP-Zugänge

Jede der Webseiten soll einen FTP-Zugang haben und ist auf das
Verzeichnis der jeweiligen Webseite beschränkt.

Name: "Webseite01FTP"

Ein Verzeichnis könnte zum Beispiel "/var/www/Webprojekt01" sein

Ich möchte für mich einen FTP-Zugang haben, der im gesamten "/var/www"
alle Rechte besitzt.
Name: "FTParbeit"

---------------------------------------------------------------------------------------

Wenn ich es richtig verstehe, ist "www-data" der User auf meinem Server,
auf den ich besonders aufpassen muss, weil dieser ja auch ein Hacker
sein kann.
---------------------------------------------------------------------------------------


Um die Schreibrechte für alle diese Verzeichnisse zu ermöglichen, habe
ich eine neue Usergruppe erstellt: "SchreibGruppe" mit den Mitgliedern:
"ServerArbeit", "FTParbeit", "Webseite01FTP"

Danach sollte es egal sein, wem welche Datei im Ordner ////var/www//
gehört: alle Mitglieder der Gruppe "SchreibGruppe" haben die vollen
Dateirechte

Daher habe ich für den Ordner ////var/www// und allen Unterordnern und
Dateien so eingestellt:
chown -R root:SchreibGruppe /var/www
Die Schreibrechte sollten nach meinem Verständnis dann so funktionieren:
chmod -R 2775 /var/www
"www-data" ist dann "other" und darf nur lesen und ausführen.

Nun gibt es aber auch Dateien, die von "www-data" beschreibbar sein
müssen - dafür habe ich noch eine Gruppe angelegt: "SchreibGruppeWWW"
hier befinden sich alle Benutzer von "SchreibGruppe", aber auch der
Benutzer "www-data"

Anstatt jetzt dem Verzeichnis /var/www/Webseite01/typo3temp die Rechte
777 zu geben, wollte ich dem Ordner die Gruppe "SchreibGruppeWWW"
zuweisen und die Schreibrechte auf 775 belassen (oder 770) denn
"www-data" bekommt doch dann über die Gruppe alle Rechte!
---------------------------------------------------------------------------------------

Es funktioniert aber nicht! Nur 777 funktioniert!
---------------------------------------------------------------------------------------

Wenn ich allen Dateien den User "www-data" zuordne, dann habe ich
spätestens dann ein Problem, wenn ich mit FTP Dateien auf das System
übertrage. Denn dann ist der Besitzer der Datei der jeweilige FTP-User
und "www-data" hat mitunter keine Rechte mehr -- Die Webseite wird nicht
mehr angezeigt.

Über ProFTPd habe ich versucht mit "UserOwner" und "GroupOwner"
festzulegen, dass alle Dateien die Hochgeladen werden immer "www-data"
besitzt, jedoch hat das schlicht weg nicht funktioniert.

Auch kann ich die Lese/Schreib/Ausführrechte mit Umask nie mit einer 7
vergeben. Hier sind also weitere Probleme.

---------------------------------------------------------------------------------------


Bitte kann mir jemand erklären, wie ich die Rechte vergeben muss, damit
Jeder nur das kann was er können soll -- und sonst nichts?

---------------------------------------------------------------------------------------


Vielen Dank für eure Hilfe.
Marco

Probier doch mal den Benutzer www-data zu den Gruppen der FTP-Benutzer hinzuzufügen. Damit können die Dateien weiterhin dem FTP-Benutzer und seiner Gruppe gehören, der Apache kann sie aber dennoch lesen.
root@server~: usermod -aG ftpuser1 www-data

root@server~: groups www-data
	www-data : www-data ftpuser1

root@server~: ll /var/www/
	drwxr-xr-x 14 root     root     4.0K Jul 17 11:00 .
	drwxr-xr-x  6 root     root     4.0K Jun 17 11:00 ..
	drwxr-x---  5 ftpuser1 ftpuser1 4.0K Jul 17 11:00 Webseite01

--
Alex JOST


Reply to: