htdocs zugriff für normale user...

Post Reply
Message
Author
piko
Posts: 1
Joined: 25. Jun 2004 13:03

htdocs zugriff für normale user...

#1 Post by piko »

moin moin...
bin kürzlich auf linux umgestiegen, deswegen nich so ahrt sein, wenns ne n00b frage ist ^^, also die sache ist, ich habe apache 2 installiert und weiß auch wie man das alles konfigurieren tut, aber ich weiß nicht, wie ich es normalen usern erlauben kann, in dem htdocs verzeichnis etwas zu verändern, also das sie neue dateine machen können und verändern und alles mögliche...

plz helft mir...

ajo, ich hab SuSE 9.0

User avatar
killerhippy
Posts: 529
Joined: 19. May 2000 19:36
Contact:

#2 Post by killerhippy »

Hi,

die Lösung für deine Frage liegt in der Konfiguration der Dateirechte bezüglich der Verzeichnisse.

Wie Suse die User und Dateirechte einrichtet, ist mir unbekannt, aber ich kann's ja mal umschreiben:

Mach' mal eine Konsole auf und führe "ls -l /" aus. Da siehst du z.B.

Code: Select all

drwxr-xr-x 2 root root 4096 Jun 24 23:50 bin
^          ^ ^         ^    ^            ^
|          | |         |    |            |__Block 6
|          | |         |    |_______________Block 5
|          | |         |____________________Block 4
|          | |______________________________Block 3
|          |________________________________Block 2
|___________________________________________Block 1
In Block 1 siehst du am Anfang das "d", das ein Verzeichnis (directory) indiziert und in Folge für users/group/others die Dateirechte. Der User hat die Rechte read,write und execute, die Gruppe die Rechte read und execute und alle anderen genauso bezüglich dieser Datei (dieses Verzeichnisses) bin.
In Block 3 siehst du welchem User und welcher Gruppe diese Datei (das Verzeichnis) gehören. User root, Gruppe root. Der User root darf in dieses Verzeichnis wechseln (x), in diesem Verzeichnis lesen, schreiben (rw). User, die der Gruppe root angehören, dürfen wie alle anderen User in dieses Verzeichnis wechseln (x), darin lesen (r) nicht aber schreiben.

Für das htdocs Verzeichnis gilt nun, daß wenn du User der Gruppe users das Schreiben erlauben willst, die Dateirechte für die Gruppe entsprechend setzt oder die User in die betreffende Gruppe mit aufnimmst.

Wenn also das htdocs Verzeicnis dem User apache und der Gruppe users gehört, müssen für die Gruppe Lese-, Schreib- und Wechselrechte erteilt werden. Da wir alle Dateien und Verzeichnisse unterhalb von htdocs mit einschließen wollen, müssen wir das rekursiv tun:

Code: Select all

chmod -R g+rwx /htdocs
Wenn das htdocs Verzeichnis dem User apache und der Gruppe apache gehört, ist es u.U. eine schlechte Idee, das Verzeichnis der Gruppe users zuzuordnen, weil ansonsten eventuell bestehende Rechte entzogen und Funktionalitäten verwehrt werden. Daher ist hierfür die zweite Lösung angebracht:

Code: Select all

usermod -G apache linus
Aber Vorsicht, sollte linus z.B. der inital group users und den weiteren Gruppen wheel und isdn angehören, gehen die Zuordnungen zu wheel und isdn nach diesem Befehl verloren. Das kann man umschiffen, indem man vorher "id linus" eingibt, um die Zuordnungen vorher anzeigen zu lassen und zu berücksichtigen:

Code: Select all

id linus
uid=1000(linus) gid=100(users) groups=100(users),10(wheel),1000(isdn)
usermod -G users,wheel,isdn,apache linus
Alternativ kannst du auch die Datei /etc/group editieren und der Gruppe apache alle Usernamen zufügen, sodaß die Zeile z.B. so aussieht:

Code: Select all

apache:x:81:apache,linus,alan
Änderungen werden für die betroffenen User erst nach eneutem Login aktiv.
Um Fehler möglichst auszuschliessen, solltest du diese Befehle nachlesen "man chmod", "man usermod" und an Testverzeichnissen ausprobieren.
Es gibt keine dumme Fragen!

Killerhippy

Post Reply