Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: www-data eigenaar en groep permissies  (gelezen 10046 keer)

Offline eloye

  • Lid
www-data eigenaar en groep permissies
« Gepost op: 2009/12/21, 17:45:19 »
Beste mensen,

Ik zit met een probleem. Ik heb laatst een virtual server aangeschaft bij Strato. Leuk prijsje alleen 0% technisch support dus ik balen. Nou heb ik Ubuntu draaien aangezien er op OpenSuse nog meer problemen waren. Ik heb totaal erg weinig kennis op Linux Server gebied maar heb me er laatste tijd wel een beetje in verdiept.

Ik heb volledige root toegang doormiddel van Putty en WinSCP dus ik kan wel commands geven via SSH. (Ik heb ook Plesk draaien op de server)

Het probleem is dat de server bestanden die gemaakt zijn door een PHP scriptje niet de zelfde permissies hebben dan bestanden en mappen die handmatig op de FTP server zijn gezet. En dan bedoel ik permissies op het gebied van Eigenaren en Groepen.

Wanneer ik een bestandje op de FTP upload dan zie ik bij Eigenaar staan mijn FTP login naam. Maar wanneer ik een bestandje via PHP aanmaak dan staat er: www-data. Ik kan dus de www-data bestanden dan niet meer via FTP verwijderen of wijzigen en dan is lastig.

Ik weet nog wel bij simpele domein hosting die ik vroeger had dat alle bestanden de zelfde Eigenaar en Groep hadden. Of het nou een bestandje via FTP was of via een PHP scriptje.

Ik hoop dat ik het duidelijk heb kunnen uitleggen. En is mijn vraag dus hoe ik dit kan oplossen zodat alle groepen en gebruikers gelijk zijn... ???
Groet
« Laatst bewerkt op: 2009/12/21, 17:47:05 door eloye »

Offline vanadium

  • Lid
Re: www-data eigenaar en groep permissies
« Reactie #1 Gepost op: 2009/12/21, 20:37:35 »
Als je je lid maakt van de groep www-data, dan zal je die bestanden wel kunnen wissen/veranderen, op voorwaarde dat ook bij de groepspermissies "schrijven" aan staat.

Als je wil dat nieuwe bestanden de groep www-data krijgen, dan moet je eerst inloggen in die groep. Vanaf de terminal zou dat gaan met "newgrp www-data". Hoe dat bij ftp moet, weet ik niet. Natuurlijk kan je ook de groep aanpassen naar www-data als je daar lid van bent.

Offline testcees

  • Documentatieteam
    • testcees
    • www.testcees.nl
Re: www-data eigenaar en groep permissies
« Reactie #2 Gepost op: 2009/12/21, 20:58:40 »
De bestanden van php worden door de webserver gemaakt en hebben daarom als eigenaar www-data.

Er zijn meer mogelijkheden maar je kan zelf lid maken van de groep www-data met de opdracht:
$ sudo adduser eloye www-data

Nu heb je groeps-rechten. Maar dat is nog niet voldoende omdat Ubuntu bestanden standaard aanmaakt zonder schrijfrechten voor de groep. Welke rechten nieuwe bestanden krijgen wordt bepaald met "umask".

De "umask" staat onderaan in bestand /etc/profile. Hier staat nu umask 022. Als je dit veranderd in umask 002 hebben nieuwe bestanden ook schrijf (en wis) rechten voor de groep.

Omdat gebruiker eloye lid is van de groep www-data kan je nu nieuwe bestanden wissen.

De rechten van aanwezig bestanden kan je aanpassen met de opdracht:
$ sudo chmod +g /var/www/bestandsnaam

Opmerking: De "umask" instelling is van toepassing voor nieuwe bestanden van alle gebruikers.
Klik links bovenin op Documentatie

Offline eloye

  • Lid
Re: www-data eigenaar en groep permissies
« Reactie #3 Gepost op: 2009/12/21, 22:05:35 »
Hmm, ik wil jullie allebij bedanken voor uw snelle reactie!
Ik ben even gaan kijken, en ik weet niet of de manier van inloggen op de groep effectief is aangezien er ook dingen in PHP gebeuren waarbij dat soort dingen omslachtig zijn. Verder heb ik de commands uitgevoerd om mezelf lid te maken van www-data en de umask aan te passen... Hierna reboot geschreven om de boel opnieuw op te starten... Maar kan nog steeds de bestanden aangemaakt door PHP niet verwijderen of overschrijven via FTP.

FTP:
Commando:   DELE testFile.txt
Antwoord:   550 testFile.txt: Permission denied

Aan de andere kant had ik gehoopt dat dit effectiever kan aangezien je met deze instelling alleen de instellingen voor 1 user insteld wat inhoud dat je per domein dat ik in plesk aanmaak de instellingen opnieuw moet instellen.

Kan ik er ook voor zorgen dan alle bestanden gewoon de zelfde eigenaar en groep krijgen ondanks via FTP of PHP en dat alles dan met eigenaar: eloye. En groep: psacln eindigt. En bestanden die door PHP zijn aangemaakt niet de eigenaar: www-data. En groep: www-data krijgen. Dit zou een effectieve oplossing als het voor alle domeinen geldt. Kan dit??

Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Re: www-data eigenaar en groep permissies
« Reactie #4 Gepost op: 2009/12/21, 22:19:10 »
Hey eloye, volgens mij kun je het wel doen middels: chmod ug=s
Je maakt de hoofdmap dan de user en group die je wilt. Als het goed is moeten de submappen en bestanden dan automagisch dezelfde owner/group krijgen als de hoofdmap...

Zie ook http://www.mkssoftware.com/docs/man1/chmod.1.asp
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Offline eloye

  • Lid
Re: www-data eigenaar en groep permissies
« Reactie #5 Gepost op: 2009/12/21, 22:41:20 »
Maar die map hoort dan httpdocs te zijn. Alleen er bestaat 1 httpdocs map per domein dus dat lost het probleem niet op dat die instellingen voor alle domeinen van kracht zijn. Is er nergens een instelling die er voor zorgt dat bestanden worden toegewezen als www-data wanneer bijvoorbeeld php een script maakt. En dat hij automatisch dan als eigenaar de login naam krijgt (eloye dan) en in de groep psacln wordt gezet?

Offline testcees

  • Documentatieteam
    • testcees
    • www.testcees.nl
Re: www-data eigenaar en groep permissies
« Reactie #6 Gepost op: 2009/12/21, 22:53:40 »
Hey eloye, volgens mij kun je het wel doen middels: chmod ug=s
$ mkdir testmap
$ sudo chown ander:ander testmap
$ sudo chmod ug=s testmap
$ sudo chmod go+w testmap
$ echo tekst > testmap/test.txt
$ ls -l testmap/test.txt
-rw-r--r-- 1 cees ander 6 2009-12-21 22:44 testmap/test.txt
De groep wordt overgenomen maar de eigenaar niet. Of bedoel je het anders?
Klik links bovenin op Documentatie

Offline eloye

  • Lid
Re: www-data eigenaar en groep permissies
« Reactie #7 Gepost op: 2009/12/21, 23:10:51 »
Gelden deze commands dan voor 1 map? Ik zit met een PLESK omgeving waar ik nieuwe domeinen kan maken (dus ook nieuwe FTP accounts en verschillende httpdocs)
Het liefst wil ik dat www-data gewoon hetzelfde wordt als dat ik een bestandje via FTP upload (eloye en psacln)(blijkbaar maakt apache de FTP uploads lid van de groep psacln). Dat het niet uitmaakt of er een bestandje wordt aangemaakt via PHP of dat ik het handmatig upload via FTP. Dat ze allebij de zelfde eigenaar en groep hebben.

Offline eloye

  • Lid
Re: www-data eigenaar en groep permissies
« Reactie #8 Gepost op: 2009/12/22, 12:40:22 »
Ik heb nog een topic gevonden op het Ubuntu forum die waarschijnlijk precies hetzelfde probleem heeft.

http://forum.ubuntu-nl.org/server-en-netwerk/ubuntu-webserver-opzetten-php-fopen()-permission-denied/

Ik heb ook mijn envvars bestandje gecheckt en ook ik heb staan:
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
export APACHE_PID_FILE=/var/run/apache2.pid

En juist bestanden met www-data eigenaar en groep kan ik niet verwijderen/overschijven etc via FTP en dat is juist het probleem... Ik kan alleen bestanden mappen verwijderen/overschrijven met de eigenaar en groep eloye en psacln... Heeft iemand nog een oplossing?

Offline eloye

  • Lid
Re: www-data eigenaar en groep permissies
« Reactie #9 Gepost op: 2009/12/23, 19:06:54 »
Iemand??

Offline rja

  • Lid
Re: www-data eigenaar en groep permissies
« Reactie #10 Gepost op: 2009/12/24, 00:31:54 »
Je zult in iedere geval de groep - dan moet je de umask aanpassen - of de eigenaar moeten aanpassen van die files moeten aanpassen.

Zie :

https://help.ubuntu.com/community/FilePermissions


Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Re: www-data eigenaar en groep permissies
« Reactie #11 Gepost op: 2009/12/24, 18:11:45 »
Volgens mij moet je chmod +s op de betreffende dir doen. Zoiets had ik eerder ook al gezegd. Misschien moet het zijn chmod g+s (dus alleen op groep). Klooi hier een beetje mee zodat je weet wat je precies nodig hebt...

suc7
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Re: www-data eigenaar en groep permissies
« Reactie #12 Gepost op: 2009/12/26, 21:15:37 »
Heb ook wel zoiets. Via ssh upload ik de bestanden, die automatisch de gebruikersnaam krijgen waarmee ik ingelogd heb. Als ik dan alle bestanden overgezet heb, verander ik gewoon de gebruiker:

sudo chown -R www-data:www-data /map
Beetje omslachtig wel en ik weet ook niet of je via het www-data account kan inloggen op ssh, maar zo werkt het bij mij in ieder geval gewoon goed :)

Verder wil je dus als ik het goed begrijp gewoon dat als je een bestandje via ftp of via ssh overstuurt, standaard de gebruiker www-data krijgt?
« Laatst bewerkt op: 2009/12/26, 21:35:01 door crashit »
"If engineers built buildings the way Microsoft builds operating systems the first woodpecker to come along would bring civilization to its knees."

Offline eloye

  • Lid
Re: www-data eigenaar en groep permissies
« Reactie #13 Gepost op: 2009/12/27, 23:56:32 »
haha, jij snapt mijn probleem denk ik goed. Alleen wil ik juist geen www-data! Dus de bestanden dia via PHP worden aangemaakt moeten ook gewoon door de gebruiker worden aangemaakt en niet door www-data... Want dat is wat er gebeurd als er een bestandje via php wordt gemaakt. En dan heb ik dus niet meer de rechten om dat www-data bestandje te verwijderen of te wijzigen via bijvoorbeeld FTP. Via SSH is een optie inderdaad alleen waarom kan het bij andere simpele hosting dan wel gewoon? Dat alle bestanden en mappen gewoon via de gebruiker worden gemaakt (ook bestanden via php scripts!)???

Offline vanadium

  • Lid
Re: www-data eigenaar en groep permissies
« Reactie #14 Gepost op: 2009/12/28, 12:24:44 »
Mogelijk is dat iets wat je ter hoogte van php moet instellen. Al in die richting gezocht?

Offline vanadium

  • Lid
Re: www-data eigenaar en groep permissies
« Reactie #15 Gepost op: 2009/12/28, 12:37:56 »
Toch niet zo triviaal, lijkt me. Ik zie hier enkele posts omtrent de "issue", en het komt allemaal neer op het achteraf veranderen van de permissies of ownership.
https://support.inmotionhosting.com/cgi-bin/kb.cgi?do=read&id=45&lang=en
http://drupal.org/node/34028

In dat licht lijkt de werkwijze van crashit nog de meest eenvoudige.

Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Re: www-data eigenaar en groep permissies
« Reactie #16 Gepost op: 2009/12/28, 12:47:42 »
Alleen wil ik juist geen www-data! Dus de bestanden dia via PHP worden aangemaakt moeten ook gewoon door de gebruiker worden aangemaakt en niet door www-data...
Al geprobeerd wat ik zei?
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Re: www-data eigenaar en groep permissies
« Reactie #17 Gepost op: 2009/12/28, 12:50:17 »
In dat licht lijkt de werkwijze van crashit nog de meest eenvoudige.
Nee, je kunt gewoon instellen dat nieuwe bestanden/dirs een bepaalde eigenaar en/of groep krijgen.
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Offline eloye

  • Lid
Re: www-data eigenaar en groep permissies
« Reactie #18 Gepost op: 2009/12/30, 13:31:21 »
Alleen wil ik juist geen www-data! Dus de bestanden dia via PHP worden aangemaakt moeten ook gewoon door de gebruiker worden aangemaakt en niet door www-data...
Al geprobeerd wat ik zei?

Ja met geen resultaat... Helaas... Ik ben eerst naar de domein map gegaan met cd.
Ik heb uitgevoerd: sudo chmod +s httpdocs

Hierdoor veranderd er wel iets als ik met php een bestandje EN map aanmaak (bijvoorbeeld een txt bestandje die in een mapje test staat allebij gemaakt door PHP). Want de groep veranderd in psaserv en is eigenaar/groep dus niet meer www-data/www-data maar nu www-data/psaserv.

Bestanden die via FTP zijn geupload krijgen trouwens de eigenaar/groep: eloye/psacln
via sudo chmod g+s httpdocs krijg in hetzelfde. En met chmod ug=s kom ik niet meer in mijn httpdocs map.

 

Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Re: www-data eigenaar en groep permissies
« Reactie #19 Gepost op: 2009/12/30, 14:02:23 »
haha, jij snapt mijn probleem denk ik goed. Alleen wil ik juist geen www-data! Dus de bestanden dia via PHP worden aangemaakt moeten ook gewoon door de gebruiker worden aangemaakt en niet door www-data... Want dat is wat er gebeurd als er een bestandje via php wordt gemaakt. En dan heb ik dus niet meer de rechten om dat www-data bestandje te verwijderen of te wijzigen via bijvoorbeeld FTP. Via SSH is een optie inderdaad alleen waarom kan het bij andere simpele hosting dan wel gewoon? Dat alle bestanden en mappen gewoon via de gebruiker worden gemaakt (ook bestanden via php scripts!)???
Deze pagina legt beter uit wat ik bedoelde.
Je moet dan ff naar onder scrollen tot Setting the SGID attribute on a directory : chmod g+s
Wat ik ooit heb gedaan is chmod g+s op de betreffende dir, zodat bij het aanmaken het automagisch de standaard group krijgt. Vervolgens umask 002 op de dir. Zodat de group ook schrijfrechten heeft.
Als laatst moet je er dan nog voor zorgen dat alle users wel in die group zitten (php en ftp dus).

Anders zou je misschien moeten kijken om php als andere user uit te voeren. Er is ook suphp. Maar ik denk dat dit iets te ver gaat...
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Offline eloye

  • Lid
Re: www-data eigenaar en groep permissies
« Reactie #20 Gepost op: 2010/02/18, 20:27:44 »
Wat stom zeg... Het had niet eens met ubuntu te maken...
Het was een instelling in plesk. PHP draait via plesk standaard via Apache. Maar ik verandere het naar CGI en de permissies zijn nu goed.
Alsnog bedankt!