Verständnisproblem mit der Rechtevergabe

laggy

New Member
huhu Linux-User :)

ich habe ein Verständnisproblem mit der Rechtevergabe (chmod) unter Linux... Also ich weiss das man mittels "chmod 644" z.B. diverse Rechte geben kann, also write, read usw. ist mir alles klar... auch das sich dies auf user und gruppen beziehen kann.

doch wenn ich z.B. nun in mein Webverzeichnis gehe, da wo meine Webseiten liegen (in meinem Fall: "var/www/seite1") dann habe ich mir dort einen Ordner "html" abgelegt

ich habe diesem mittels
Code:
chmod 777 html

die rechte gegeben das ich dort auch mit ftp sachen schreiben kann usw. doch folgende ausgabe bekomme ich nun unter "ls -l":

Code:
drwxrwxrwx 2 root root 4096 May   8 12:09 html

das bedeutet doch das nun ALLE user dort alle rechte haben? und ich habe die rechte mit dem root vergeben oder was bedeutet das "root root"... zudem würde mich interessieren wie ich denn nun rechte einem anderen user geben kann? das der ftp user da z.B. nur lesen darf? Oder beziehen sich diese Rechte auf ALLE, wenn ich diese vergebe? wenn nein, wie kann ich denn sehen welche Rechte dann andere User bei dem Ordner haben?
ich habs schon mittels

Code:
chmod 777 ftpuser

versucht, das geht aber nicht... kann mir da jemand schnell auf die Sprünge helfen wo es hängt bei mir?

gruß
 
man chmod
man chown

Der Eigentümer des Ordners ist der Benutzer root der Gruppe root. 777 heisst also, dass der Benutzer root alle Rechte hat, dass alle Mitglieder der Gruppe root alle Rechte haben (das ist die zweite 7) und alle anderen, die weder der Benutzer sind, noch der Gruppe root angehören ebenfalls alle Rechte haben. Ob du das wirklich willst für das Webroot solltest du dir gut überlegen.

Berechtigungen kannst du dir beliebig aus Benutzern und Gruppen zusammenbauen, so wie du das brauchst.
 
das habe ich schon verstanden wie man mit der rechtevergabe chown und chmod umgeht...

mich würde mal wissen was für eine struktur ihr so habt?

der apache legt ja automaitsch einen www-data user an, der auf em laufwerk "var/www/" lese/ausführrechte hat, sehe ich das richtig? also standart, daran muss ich nichts verändern denke ich?

wie manage ich es also am besten? ich will ftp user haben, also packe ich die in eine gruppe und gebe der gruppe die rechte... oder wie managed ihr das so?

zudem, wie kann ich sehen was für rechte der apache hat? ist der apache in der gruppe root mit drin?

gruß
 
und ich habe die rechte mit dem root vergeben oder was bedeutet das "root root"
Und das stimmt eben nicht. Daher nochmals der Hinweis bzgl. chmod und chown.

Der Apache ist 100% nicht in der root-Gruppe. Wieviele virutelle Hosts hast du denn eingerichtet?
 
momentan nur 1 vhost, da ich nur eine domain habe, das sollt sich ja in zukunft ändern...

also mein ziel ist es mit den Rechten folgendes zu machen:
Die FTP-User bekommen in ihrem Verzeichnis rechte, der Apache soll im ganzen /var/www verzeichnis lese und ausführrechte haben, der root, soll am besten garnix haben, der brauchts ja nicht, wenn ich das richtig verstehe :>

wie realisiere ich also das am besten?

gruß
 
Du könntest jeden Benutzer der Gruppe WWW zuteilen und dann entsprechende Rechte für die Gruppe setzen.

Aber wie du "root" irgendwelche Rechte entziehen willst, das musst du mir erstmal vormachen :D Ich wette mit dir, dass du das nicht schaffst.

Moment, ich muss meine Aussage einschränken: du kannst root zwar die Rechte für einen Ordner entziehen, allerdings ist der Benutzer root dann unbrauchbar für seine ursprünglichen Zwecke und dein Server praktisch willenlos.
 
ok, nur mal zum Verständnis, der Apache-User hat ja nur Rechte im var/www oder? also Standartmäsig, kann der nix anderes? was braucht der eigentlich für Rechte, ich würde sagen er hat da nur lesen und ausführen drin? :)

Wenn ich nun einen neuen Benutzer für den FTP-Zugang anlege, und Ihm als Homeverzeichnis, das Verzeichnis seiner Webseite, die er verwalten soll, gebe (also "var/www/Seite2" für ftpuser2 z.B.) dann hat er doch da schon automatisch alle Rechte die er braucht, oder irre ich mich da?

Wenn ich einen neuen User erstelle, bekommt der ja nirgends Rechte, außer in seinem Homeverzeichnis? Natürlich hat er niergends Rechte, außer ich habe ihm diese AUßerhalb von Home gegeben, richtig?

Gruß.
 
ok, nur mal zum Verständnis, der Apache-User hat ja nur Rechte im var/www oder? also Standartmäsig, kann der nix anderes? was braucht der eigentlich für Rechte, ich würde sagen er hat da nur lesen und ausführen drin? :)
Falsch. Er kann bspw seine Konfiguration lesen die evtl. in /etc oder /usr/local/etc liegt und er kann all das in was ihm in Verzeichnissen über "Others" erlaubt wird oder eben über eine andere Gruppe der er evtl. angehört. Er kann sicherlich auch auf /tmp zugreifen.

Wenn ich nun einen neuen Benutzer für den FTP-Zugang anlege, und Ihm als Homeverzeichnis, das Verzeichnis seiner Webseite, die er verwalten soll, gebe (also "var/www/Seite2" für ftpuser2 z.B.) dann hat er doch da schon automatisch alle Rechte die er braucht, oder irre ich mich da?
Nicht zwangsläufig. Das kommt drauf an wie du dein System konfiguriert hast. Wenn das Verzeichnis neu angelegt wird, dann sollte er die Rechte haben die er braucht.
Wenn ich einen neuen User erstelle, bekommt der ja nirgends Rechte, außer in seinem Homeverzeichnis? Natürlich hat er niergends Rechte, außer ich habe ihm diese AUßerhalb von Home gegeben, richtig?

Gruß.
Falsch. Siehe Apache-User.
 
ok dann vielleicht eine dumme Frage, dennoch würde sie mir helfen...
wie sehe ich denn dann welche Rechte z.B. der User "www-data" auf dem ganzen Server hat? wenn ich z.B. im Homeverzeichnis eines Users "ls -l" mache, dann sehe ich aber irgendwie nur "root root" und keine rechte von dem User?

gibts irgendwo eine Übersicht in Linux?
 
Bei "ls -l" siehst Du Folgendes:
Code:
ls -l /bin/bash 
-rwxr-xr-x 1 root root 464680 2003-09-23 19:33 /bin/bash
Rechte des Besitzers, Rechte der Gruppe, Rechte für alle, Anzahl der Unterverzeichnisse (bei Dateien 1), Besitzer, Gruppe, Größe, Datum und Uhrzeit der letzten Änderung.
Wenn da root root steht, dann gehört die Datei eben root.

Eine Übersicht über die Optionen und Ausgaben von 'ls' und anderen Programmen liefern immer "man Programm" und teilweise ausführlicher "info Programm"
 
Nein, du könntest dir höchstens mal
man ls
man grep
man awk etc anschauen. Dann kannst du dir nen Konsolenbefehl zusammenbauen, der dir entsprechende Daten ausliest. Spontan weiss ich da keine Antwort. Das ganze ist nämlich sehr komplex.

Angenommen du hast User die in mehreren Gruppen sind, dann wird das sehr sehr komplex und beinahe unmöglich.

Aber du kannst davon ausgehen, dass die Benutzer nach der Installation des Betriebssystem die richtigen Berechtigungen haben.

Neue Benutzer solltest du genauer prüfen.
 
Back
Top