webForumDet fria alternativet

Rättigheter på servern?

PHP

6 svar · 289 visningar · startad av Niklasson

Medlem sedan nov. 2000857 inlägg
Frågan#1

Jag försöker med hjälp av ett PHP-script skapa mappar med mkdir och kopiera filer med copy() ungefär såhär:

mkdir("mappnamn", 755);
mkdir("mappnamn/undermapp", 755);

copy ("originalsökväg/fil1.php", "mappnamn/undermapp/fil1.php");
copy ("originalsökväg/fil2.php", "mappnamn/undermapp/fil2.php");

Jag får felmeddelanden om att jag inte skulle ha rättigheter, men det borde väl fungera eller?

------------------
http://www.niklasson.net/

Medlem sedan aug. 20002 975 inlägg
#2

Har tidigare konstaterat att för min del har jag behövt minst chmod 666 på en katalog för att kunna skapa filer i den. Motsvarande bör gälla för att skapa mappar.

------------------
Fiskesällskapet Salamander

Medlem sedan nov. 2000857 inlägg
#3

Mappen som scriptet ligger i har CHMDOD 755...

------------------
http://www.niklasson.net/

Medlem sedan feb. 20001 050 inlägg
#4

Funkar med chmod 666 (inte med 755) dock funkar inte mkdir i safe-mode.

/nicclas - http://mina.nyhetsrubriker.net

[Redigerat av nicclas den 29 dec 2001]

Medlem sedan nov. 2000857 inlägg
#5

safe-mode?

Skall jag sätta CHMOD 666 på alla mappar, både den scriptet ligger i och de jag skapar?

------------------
http://www.niklasson.net/

Medlem sedan feb. 20001 050 inlägg
#6

Tex f2s.com kör PHP i safe-mode - en "säkrare" variant där vissa funktioner, som möjligen kan användas fel, som tex upload och mkdir är avstängda.

Katalogen du skapar den nya katalogen i måste "ha" 666.

[Redigerat av nicclas den 29 dec 2001]

Medlem sedan juni 20014 290 inlägg
#7

Niklasson:

Unix rättigheter är uppbygda enligt följande:

Read = 100 (binärt) = 4 (dec)
Write = 010 = 2
eXecute = 001 = 1 (på biliotek anger X om man har rätt att läsa biblioteket)

Dessa kan sättas på user, group och other nivå, första siffran anger User andra Group och tredje Other.

755 betyder:
User (7) har Read, Write, eXecute.
Group (5) har Read, eXecute.
Other (5) har Read, eXecute.

666 betyder:
User (6) har Read, Write.
Group (6) har Read, Write.
Other (6) har Read, Write.

En webserver ligger oftast som nivå eller tillhör gruppen "other" och alla cgi/php script körs som webserverns användare, vilket gör att: för att skapa filer måste Other ha minst 2 för att kunna skriva och för att kunna läsa den igen minst 6.

------------------
If you can't convince them, confuse them.

[Redigerat av GunnarD den 29 dec 2001]

268 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)