[Xubuntu] www-data EN user volledige rechten over /var/www

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • RedHat
  • Registratie: Augustus 2000
  • Laatst online: 18:54
Hallo,

Ik heb een probleem. Ik heb op mijn laptop Xubuntu gezet met Apache2, PHP5 en MySQL. Dit is allemaal prima gegaan. De dir van apache (DocumentRoot) is /var/www.

Nu ben ik de enige gebruiker op deze laptop en wil ik verschillende projecten onder /var/www/ onderbrengen. Echter is apache (www-data) eigenaar van /var/www.

Na een ellenlange zoektocht in google kon ik toch een paar enkele relevante links vinden. Ik heb geprobeerd de gebruiker toe te voegen aan groep www-data. Die heeft immers rechten over /var/www
usermod -G www-data user
Dit commando word uitgevoerd, ik kan alleen nog niets opslaan in /var/www.

Nu ben ik natuurlijk ook gestuit op chown, echter kan ik wel de ownership van /var/www naar user zetten, alleen dan heeft apache een probleem want die kan daar dan weer niets.

Ik dacht dat google mijn friend was. Maar die geeft weinig relevante hits. Wat ik overigens raar vind, want dit is toch een 'common probleem' leek mij. En het leek mij ook een 'basic probleem'.

Nu zat ik te denken aan een symlink in /home/user naar /var/www. Alleen user heeft dan alleen rechten over de symlink zelf en niet in /var/www. Dit is toch correct?

Dus het doel is eigenlijk gewoon om user gewoon lezen,schrijven,wijzigen,execute rechten te geven in /var/www, maar wel zo dat apache eigenaar blijft en alle orginele rechten behoudt naturlijk.

Chmod is volgens mij ook geen optie omdat die rechten geeft voor alle gebruikers. Je kan met chmod volgens mij niet specifiek een gebruiker definieëren of groep die b.v. 655 of 777 rechten oid heeft in die map,

Nu zal ik niet de enige zijn (geweest) met dit probleem, dus dit topic komt dan ook weer mooi terug in de search :)

[ Voor 6% gewijzigd door RedHat op 29-03-2009 14:01 ]


Acties:
  • 0 Henk 'm!

  • BarthezZ
  • Registratie: Juli 2004
  • Niet online

BarthezZ

anti voetbal en slechte djs!

Met chmod kan je dit juist perfect doen. Je kan de groep schrijfrechten geven en dan kan je doen wat je wilt.

Acties:
  • 0 Henk 'm!

  • RedHat
  • Registratie: Augustus 2000
  • Laatst online: 18:54
BarthezZ schreef op zondag 29 maart 2009 @ 14:05:
Met chmod kan je dit juist perfect doen. Je kan de groep schrijfrechten geven en dan kan je doen wat je wilt.
Door mijzelf in een andere groep te plaatsen heb ik geen rechten meer over sudo. Heb mezelf buiten het systeem gezet klaarblijkelijk. _/-\o_ Erg handig...

Recovery Mode is netjes, ff www-data in sudoers gezet :) ik ga nog even met chmod aan de slag.

[ Voor 11% gewijzigd door RedHat op 29-03-2009 14:20 ]


Acties:
  • 0 Henk 'm!

  • Seth4Chaos
  • Registratie: Maart 2001
  • Niet online

Seth4Chaos

that's me...

haha, dat doe je goed. Dan hoop ik dat je het root password weet ander zal je even naar single mode moeten.

Maar het idee is om jezelf toe te voegen aan de www-data groep. vervolgens geef je de bestanden in /var/www/ ook aan de groep (jij en www-user dus) schrijf rechten en kunnen jullie beide schrijven.
verder moet je even met de umask van www-user (en jezelf?) spelen zodat nieuwe bestanden de correcte permissies krijgen.

Een andere optie is xattr (extended file permissions), hiermee kan je meerdere users (en groups) bepaalde rechten geven.

ps. pas je op met www-data in sudo, geen hem niet teveel rechten (liever helemaal geen)

[ Voor 7% gewijzigd door Seth4Chaos op 29-03-2009 14:23 ]

Mistakes are proof that you are trying...


Acties:
  • 0 Henk 'm!

  • RedHat
  • Registratie: Augustus 2000
  • Laatst online: 18:54
Seth4Chaos schreef op zondag 29 maart 2009 @ 14:21:
haha, dat doe je goed. Dan hoop ik dat je het root password weet ander zal je even naar single mode moeten.

Maar het idee is om jezelf toe te voegen aan de www-data groep. vervolgens geef je de bestanden in /var/www/ ook aan de groep (jij en www-user dus) schrijf rechten en kunnen jullie beide schrijven.
verder moet je even met de umask van www-user (en jezelf?) spelen zodat nieuwe bestanden de correcte permissies krijgen.

Een andere optie is xattr (extended file permissions), hiermee kan je meerdere users (en groups) bepaalde rechten geven.

ps. pas je op met www-data in sudo, geen hem niet teveel rechten (liever helemaal geen)
Ik heb www-data veranderd in wesley (de user). Het had niets te maken met het "uit de groep gaan" maar een eeuwenoud bugje in Ubuntu (Al vanaf 7.10 las ik op ubuntuforums).

Chmod lijkt niet te doen wat ik wil. chmod ug+rwx /var/www lijkt mij geen permissies te geven.
Ik ga even aan de slag met wat jij zegt.

Acties:
  • 0 Henk 'm!

  • Seth4Chaos
  • Registratie: Maart 2001
  • Niet online

Seth4Chaos

that's me...

RedHat schreef op zondag 29 maart 2009 @ 14:28:
[...]
Chmod lijkt niet te doen wat ik wil. chmod ug+rwx /var/www lijkt mij geen permissies te geven.
Ik ga even aan de slag met wat jij zegt.
Om een chmod te mogen doen moet je wel de rechten hebben (en die liggen nu bij de www-user)
"sudo chmod"?

Mistakes are proof that you are trying...


Acties:
  • 0 Henk 'm!

  • RedHat
  • Registratie: Augustus 2000
  • Laatst online: 18:54
Seth4Chaos schreef op zondag 29 maart 2009 @ 14:31:
[...]

Om een chmod te mogen doen moet je wel de rechten hebben (en die liggen nu bij de www-user)
"sudo chmod"?
ja, ik voer chmod/chown/umask uit met sudo.
drwxrwxr-x 2 33 0 4096 2009-03-29 12:51 www
dit lijkt goed te staan.
Echter als ik Geany open en een file op wil slaan of een map wil aanmaken in /var/www dan krijg ik permission denied nog steeds.
wesley@wesley-laptop:/var/www$ sudo umask u=rwx,g=rwx=o=rwx
Deze heb ik ook uitgevoerd voor nieuwe bestanden

touch hoi in /var/www/ resulteert ook in een permission denied.
sudo usermod -a -G www-data wesley
touch /var/www/hi
Permission Denied
mocht ook niet baten.

[ Voor 12% gewijzigd door RedHat op 29-03-2009 15:12 ]


Acties:
  • 0 Henk 'm!

  • daft_dutch
  • Registratie: December 2003
  • Laatst online: 08-09 21:46

daft_dutch

>.< >.< >.< >.<

zit je gebruiker al in de www-data groep?
en opnieuw je console/X herstart om de gebruikers groepen door te voeren

[ Voor 47% gewijzigd door daft_dutch op 29-03-2009 15:13 ]

>.< >.< >.< >.<


Acties:
  • 0 Henk 'm!

  • RedHat
  • Registratie: Augustus 2000
  • Laatst online: 18:54
daft_dutch schreef op zondag 29 maart 2009 @ 15:12:
zit je gebruiker al in de www-data groep?
en opnieuw je console/X herstart om de gebruikers groepen door te voeren
met usermod -a -G groep user zet je toch een user in een groep?
Dat werkt in ieder geval niet.

Heb het hele systeem opnieuw opgestart maar ook dat wou niet helpen :)

[ Voor 10% gewijzigd door RedHat op 29-03-2009 15:17 ]


Acties:
  • 0 Henk 'm!

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 15:39

deadinspace

The what goes where now?

RedHat schreef op zondag 29 maart 2009 @ 13:56:
Nu ben ik de enige gebruiker op deze laptop en wil ik verschillende projecten onder /var/www/ onderbrengen. Echter is apache (www-data) eigenaar van /var/www.
De beste oplossing daarvoor is simpelweg om alles onder /var/www van jouw gebruiker te maken. Zolang apache de files kan lezen (o+rX) werkt dat prima.

Een andere oplossing is zorgen dat alles onder /var/www van www-data:www-data is, en bovendien group-writable is. Als je jouw gebruiker dan toevoegt aan de groep www-data, dan kun je schrijven in je document root.
usermod -G www-data user

Dit commando word uitgevoerd
Daarmee voeg je jezelf niet toe aan de groep www-data, daarmee zorg je dat je alleen nog maar in de groep www-data zit. (Wat je later onder andere merkt doordat je niet meer kan sudo'en)
Nu ben ik natuurlijk ook gestuit op chown, echter kan ik wel de ownership van /var/www naar user zetten, alleen dan heeft apache een probleem want die kan daar dan weer niets.
Apache kan daar dan prima genoeg, zolang hij die files maar kan lezen.
Nu zat ik te denken aan een symlink in /home/user naar /var/www. Alleen user heeft dan alleen rechten over de symlink zelf en niet in /var/www. Dit is toch correct?
Een symlink verandert nooit wat je met een file kan. De rechten worden bepaald door de rechten op de doelfile, symlinks veranderen daar niks aan.
Dus het doel is eigenlijk gewoon om user gewoon lezen,schrijven,wijzigen,execute rechten te geven in /var/www, maar wel zo dat apache eigenaar blijft en alle orginele rechten behoudt naturlijk.
Waarom moet www-data eigenaar blijven? Het is voor de security zelfs veel beter als www-data niet kan schrijven in de document root.
RedHat schreef op zondag 29 maart 2009 @ 14:11:
... ff www-data in sudoers gezet :)
Haal www-data maar snel weer uit je sudoers, want dat is nergens voor nodig en een security hole. Als iemand een brak php script op je systeem weet te exploiten, dan hebben ze toegang tot www-data. En op met www-data in sudoers hebben ze zo potentieel ook root.
RedHat schreef op zondag 29 maart 2009 @ 14:28:
Ik heb www-data veranderd in wesley (de user).
Hoe bedoel je dat?
RedHat schreef op zondag 29 maart 2009 @ 14:35:
drwxrwxr-x 2 33 0 4096 2009-03-29 12:51 www

dit lijkt goed te staan.
Daar staat iets sowieso niet goed, aangezien de user en group 33 respectievelijk 0 zijn. Dat moeten sowieso namen zijn en geen nummers, dus daar is wat mis. Bovendien is de group (0) root, wat me geven wat je wil bereiken niet wenselijk lijkt.

Acties:
  • 0 Henk 'm!

Verwijderd

In aanvulling op het verhaal van deadinspace:

Je kunt het best die directory /var/www eigendom maken van je eigen gebruiker, en van de groep www-data. Vervolgens chmod je die directory met:
chmod -v 2750 /var/www

Op deze manier heeft iemand die niet in de groep www-data zit helemaal niets in die directory te zoeken. De HTTP server kan de bestanden nog gewoon lezen en serveren, en de gebruiker kan bestanden/directories aanmaken en/of aanpassen. Als er iets wordt aangemaakt, wordt de groep automatisch www-data vanwege de setgid bit. Zo kloppen de rechten op nieuw aangemaakte bestanden en directories ook meteen.
Pagina: 1