lighttpd userdir
lima-city → Forum → Heim-PC → Betriebssysteme
benutzer
besitzer
code
datei
einarbeitung
entsprechenden nutzer
gruppe
jeweiligen nutzer
nutzer
packen
prinzip
problem
recherche
regel
setzen
theoretischer natur
url
verwendung
verzeichnis
zugriff
-
Ich beschäftige mich nun schon seit einiger Zeit mit Ubuntu, nun habe ich mir überlegt, mal ( aus Lern-Gründen ) einen Webserver aufzuziehen. Jedoch stieß ich relativ schnell auf Probleme mit der Rechteverwaltung. Nachdem ich mir dann das erste System kaputt gespielt habe, musste ich mir eingestehen, dass ich wohl doch noch nicht so erfahren bin, wie ich dachte und dachte mir, dass ich diesmal lieber erst mal frage.
Folgende Situation: Ich habe mir lighttpd installiert, möchte dort nun mod_userdir verwenden. Allerdings besteht das Problem, dass bei /home/user/public_html die Benutzerrechte nicht für den Benutzer www-data gesetzt sind. Nun habe ich ein wenig durch's Web gesucht und verschiedene Ansätze gefunden.
Der erste war, schlicht den Benutzer www-data in die Gruppe des Benutzers zu setzen. Dies habe ich beim letzten mal wohl verbockt und den Nutzer www-data letztenendes versehentlich gelöscht. ( Diesen so einfach neu zu erstellen soll wohl nicht so empfehlenswert sein, da der wohl kein Passwort haben sollte. )
Ansonsten waren da noch verschiedene Ansätze von
,chmod 711
und so weiter.chmod 722
Bevor der Text hier also noch länger wird und wahrscheinlich nur falsche Ansätze drin stehen, frag ich also einfach mal nach: Wie macht man sowas am elegantesten? ( Und möglichst ohne jedes mal extra die Rechte für jede neue Datei setzen zu müssen )
Das Resultat sollte sein, dass schlicht über
die jeweiligen Dateien aus$SERVER_ROOT/~nutzername/
verfügbar sind. Mehr nicht. Klingt einfach, oder?/home/nutzername/public_html
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hast du denn wirklich yso viele Nutzer die HTML Seiten veröffentlichen sollen ?
Abgesehen davon:
Rechte setzt man so restriktiv wie möglich. Einfach pauschal den Lesezugriff für das Verzeichnis zu setzen würde funktionieren (wobei ich 0755 nehmen würde).
Bei allen anderen Lösungen müsste man jetzt den Besitzer von public HTML kennen, da das in der Regel im /home des jeweiligen Nutzers liegt sollte das Verzeichnis dem jeweiligen Nutzer gehören. Einer Gruppe beizutreten führt daher vermutlich nicht zum erfolg und öffnet womöglich auch andere Verzeichnisse für www-data...das ist nicht ungefährlich.
Was man machen kann ist dem Besitzer des Verzeichnisses und www-data in eine extra gruppe zu packen und dieser gruppe dann Zugriff zu gewähren, das vereinfacht die Administration wenn man viele User hat, ob das nötig ist musst du selbst wissen.
Ich würde also ein:
versuchen.chmod -R 755 ~/public_html
Beitrag zuletzt geändert: 14.4.2013 8:43:42 von fatfox -
fatfox schrieb:
Nein, aber darum geht es mir ja dabei auch nicht. Mir es um's "learning by doing". Ubuntu ist ja (leider?) so aufgebaut, dass man im Alltag meist um sowas herum kommt. Also suchte ich mir irgendwas neues, was man damit machen könnte. Bei neuen Aufgaben lernt man neues. :)
Hast du denn wirklich yso viele Nutzer die HTML Seiten veröffentlichen sollen ?
fatfox schrieb:
Ähnlich dachte ich mir das auch. Wobei ich im Home-Verzeichnis halt auch mit dem Lesezugriff lieber zu vorsichtig bin, als am Ende Mist zu bauen.
Rechte setzt man so restriktiv wie möglich. Einfach pauschal den Lesezugriff für das Verzeichnis zu setzen würde funktionieren (wobei ich 0755 nehmen würde).
fatfox schrieb:
Richtig, der jeweilige public_html-Ordner liegt im Home-Verzeichnis und soll auch (möglichst) nur dem jeweiligen Benutzer Schreibzugriff gewähren, so dass ich da beispielsweise meine... Was weiß ich - Bewerbungsunterlagen hinterlegen und später abrufen kann. Der Zweck des ganzen liegt ja nicht wirklich darin, am Ende was sinnvolles damit anzustellen.
Bei allen anderen Lösungen müsste man jetzt den Besitzer von public HTML kennen, da das in der Regel im /home des jeweiligen Nutzers liegt sollte das Verzeichnis dem jeweiligen Nutzer gehören. Einer Gruppe beizutreten führt daher vermutlich nicht zum erfolg und öffnet womöglich auch andere Verzeichnisse für www-data...das ist nicht ungefährlich.
fatfox schrieb:
... was, wenn ich das richtig sehe, bei mehreren Benutzern dazu führen würde, dass alle Benutzer in der selben Gruppe wären und demnach Zugriff darauf hätten, was ja eigentlich nicht Sinn der Sache sein soll. Oder verstehe ich das falsch?
Was man machen kann ist dem Besitzer des Verzeichnisses und www-data in eine extra gruppe zu packen ...
fatfox schrieb:
Das wäre dann - wenn ich das richtig sehe -
Ich würde also ein:
versuchen.chmod -R 755 ~/public_html
die Lösung, dass www-data Lese-Zugriff auf den Ordner bekommt? So in etwa hätte ich mir das zumindest vorgestellt - geschrieben wird darin per FTP, oder halt direkt am PC, der Webserver muss nur lesen.so, dass jeder Lese-Rechte dafür bekommt? Ist natürlich auch unschön, aber wenn es nicht anders geht. :-/
Beitrag zuletzt geändert: 14.4.2013 9:19:06 von eerie -
Mit 755 bekommt der Besitzer Vollzugriff, alle anderen dürfen lesen und ausführen, das ausaführen ist wichtig wenn bspw. ein PHP File im Verzeichn is liegt.
Leseberechtigungen sind auch in der Regel kein Problem.
Beitrag zuletzt geändert: 14.4.2013 9:36:59 von fatfox -
fatfox schrieb:
Naja, das Problem könnte ja beispielsweise sein, dass ich beispielsweise die Benutzer Alice, Bob, Carol und Dave habe. Die einen haben PHP-Dateien darin liegen, in denen - widerspricht zwar dem kerckhoffsschen Prinzip - beispielsweise einfach irgendwo ein Schlüssel versteckt ist. Oder Dave hat Nacktbilder von Carol da drin. Oder was auch immer - wäre dem dann nicht so, dass theoretisch auch Carol sehen könnte, was Dave da auf der Platte hat und ihm eine runter haut? Oder verstehe ich die Rechteverwaltung von Linux noch immer falsch? :-/
Mit 755 bekommt der Besitzer Vollzugriff, alle anderen dürfen lesen und ausführen, das ausaführen ist wichtig wenn bspw. ein PHP File im Verzeichn is liegt.
Leseberechtigungen sind auch in der Regel kein Problem.
Ich bin grad bei meinen Recherchen auf die Möglichkeit von Access Control Lists gestoßen. Wobei ich da keine Erfahrungswerte habe, in wiefern diese wirklich sicher sind. ( Wobei das schon komplizierter klingt, als chmod ^^ ) -
Wenn Carol wüsste das Dave dieses Verzeichnis hat könnte sie den Inhalt des Verzeichnisses anschauen (was nicht bedeutet das sie automatisch die Dateien öffnen kann, die haben schließlich auch wieder Rechte).
Das Problem ist aber eher theoretischer Natur da das was in public html liegt ja ohnehin über den Webserver zugänglich ist, man kann es also ohnehin sehen (wenn man es nicht mit htaccess oder ähnlichem geschützt hat)
Man muss sich schon entscheiden ob man was zeigen möchte oder eben lieber alles für sich behält.
ACLs sind eine modernere Art der Rechteverwaltung, meiner Auffassung nach ist die Verwendung aber im privaten Bereich schwierig weil das Konzept einige Einarbeitung erfordert. -
fatfox schrieb:
Naja, ich nehme auch an, dass Dave die Bilder dann wohl eher irgendwo anders in seinem Home-Verzeichnis versteckt. Aber für mich geht es halt um's Prinzip. Nimmt man das andere Beispiel, beispielsweise eine PHP-Datei, in welcher irgendwo ein
Wenn Carol wüsste das Dave dieses Verzeichnis hat könnte sie den Inhalt des Verzeichnisses anschauen (was nicht bedeutet das sie automatisch die Dateien öffnen kann, die haben schließlich auch wieder Rechte).
Das Problem ist aber eher theoretischer Natur da das was in public html liegt ja ohnehin über den Webserver zugänglich ist, man kann es also ohnehin sehen (wenn man es nicht mit htaccess oder ähnlichem geschützt hat)
steht, könnte man doch (Wenn man nun nicht über den Webserver darauf zugreift... ) theoretisch auch einfach die Datei einsehen und das Passwort ansehen, oder? Ich weiß nicht.. Für mich klingt das so nach einer sehr unsauberen Lösung.if($password==="supersicher"){...}
fatfox schrieb:
Naja, soweit ich gelesen habe, ist das ganze gar nicht so kompliziert, wie es anfangs schien. Man kann - wenn ich das richtig überflogen habe - einfach eine Default-ACL auf die Verzeichnisse legen, welche zwar grundsätzlich Leserechte einräumt, aber praktisch alle außer www-data und den entsprechenden Nutzer wieder ausschließt. Klingt so ziemlich nach genau dem, was ich Suche. Aber das werde ich erst ausprobieren, wenn ich den Laptop wieder flott bekommen habe, den ich mir zuletzt zerschossen habe.
ACLs sind eine modernere Art der Rechteverwaltung, meiner Auffassung nach ist die Verwendung aber im privaten Bereich schwierig weil das Konzept einige Einarbeitung erfordert.
Zurück zum chmod: Gibt es denn eine Möglichkeit, dass ich diese Berechtigungen nicht extra immer wieder für den entsprechenden Nutzer setzen ( Oder von dem entsprechenden Nutzer setzen lassen ) muss? Bei meinen Recherchen stieß ich bisher auf Cron-Jobs, was ich allerdings für ziemlich... Unschön halte. Hat Linux da noch irgendwelche anderen Möglichkeiten? Also dass die Rechte für Dateien, welche beispielsweise später da rein geschoben werden automatisch gesetzt werden? -
Da man Passwörter ohnehin nicht im Klartext in den Quellcode schreibt ist auch das ein rein theoretisches Problem.
Zur automatischen Vergabe von rechten an neue Dateien gibt es den Befehl umask, die Manpage hilft. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage