Look for the signal in your life, not the noise.
Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8
Er zit een verschil tussen de manier waarop Apache van gebruiker wisselt, en de manier waarop su dat doet. Apache wordt gestart als root-user en erft dan ook allerlei environmental variables zoals de home directory van de root shell. Het afhandelen van requests doet Apache inderdaad onder een andere gebruiker (www, nobody, of een andere ongepriviligeerde gebruiker), maar daarbij wordt alleen het id van de huidige gebruiker (de zogenoemde effective user id) aangepast.
su is gemaakt om op de shell gebruikt te worden, en past daarom méér aan dan alleen de effective user id, zeker als je de optie - (of -l of -login) meegeeft waardoor de loginprocedure gesimuleerd wordt. Behalve de effective user id worden een aantal voor shells relevante variabelen aangepast (zoals dus inderdaad de HOME variabele, maar bijvoorbeeld ook de USER variabele).
Het is dus niet zo dat Apache iets raars doet; het is normaal dat de HOME variable niet zomaar veranderd, en het is ook normaal dat su afwijkend werkt. Wat is trouwens je probleem hiermee?
su is gemaakt om op de shell gebruikt te worden, en past daarom méér aan dan alleen de effective user id, zeker als je de optie - (of -l of -login) meegeeft waardoor de loginprocedure gesimuleerd wordt. Behalve de effective user id worden een aantal voor shells relevante variabelen aangepast (zoals dus inderdaad de HOME variabele, maar bijvoorbeeld ook de USER variabele).
Het is dus niet zo dat Apache iets raars doet; het is normaal dat de HOME variable niet zomaar veranderd, en het is ook normaal dat su afwijkend werkt. Wat is trouwens je probleem hiermee?
[ Voor 10% gewijzigd door Soultaker op 27-06-2007 17:24 ]
Aha, dan is dat ook weer duidelijk.Soultaker schreef op woensdag 27 juni 2007 @ 17:22:
Er zit een verschil tussen de manier waarop Apache van gebruiker wisselt, en de manier waarop su dat doet. Apache wordt gestart als root-user en erft dan ook allerlei environmental variables zoals de home directory van de root shell. Het afhandelen van requests doet Apache inderdaad onder een andere gebruiker (www, nobody, of een andere ongepriviligeerde gebruiker), maar daarbij wordt alleen het id van de huidige gebruiker (de zogenoemde effective user id) aangepast.
su is gemaakt om op de shell gebruikt te worden, en past daarom méér aan dan alleen de effective user id, zeker als je de optie - (of -l of -login) meegeeft waardoor de loginprocedure gesimuleerd wordt. Behalve de effective user id worden een aantal voor shells relevante variabelen aangepast (zoals dus inderdaad de HOME variabele, maar bijvoorbeeld ook de USER variabele).
Het is dus niet zo dat Apache iets raars doet; het is normaal dat de HOME variable niet zomaar veranderd, en het is ook normaal dat su afwijkend werkt. Wat is trouwens je probleem hiermee?
Bedankt voor je goede uitleg.
su is trouwens met en zonder login procedure afwijkend, maar dat bedoel je waarschijnlijk ook.
Mijn probleem was dat ik zelf een frontend voor subversion aan het schrijven was.
Subversion haalt informatie uit ~/.subversion/servers
Hier had het PHP script niet genoeg rechten voor omdat hij natuurlijk de omgevingsvariabelen van de root account heeft maar het userid van nobody.
Zo kijkt hij dus niet in zijn eigen homedir.
Ik heb hier nu omheen gewerkt door de $HOME dan maar zelf te zetten in de exec aanroep. Niet de meest nette manier maar zonder oorzaak wist ik verder niets te bedenken.
Look for the signal in your life, not the noise.
Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8