Kom ihåg mig?
Home Menu

Menu


Frågor om filrättigheter och PHP, CHMOD

 
Ämnesverktyg Visningsalternativ
Oläst 2010-06-10, 11:11 #1
Jim_Westergrens avatar
Jim_Westergren Jim_Westergren är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2005
Inlägg: 1 058
Jim_Westergren Jim_Westergren är inte uppkopplad
Har WN som tidsfördriv
Jim_Westergrens avatar
 
Reg.datum: May 2005
Inlägg: 1 058
Standard Frågor om filrättigheter och PHP, CHMOD

På både Loopia och Binero så kan PHP fritt ändra på filer, skapa filer, skapa mappar, radera filer och mappar osv och man behöver inte sätt att något ska vara CHMOD 777. Filerna som PHP skapar får CHMOD 644 och katalogerna CHMOD 755 automatiskt. Det har funkat perfekt för mig.

Nu har jag skaffat en VPS och installerat LAMP enligt denna guiden.

På min VPS måste mappen först ha CHMOD 777 innan PHP kan skapa mappar och filer under den katalogen. Men de mappar och filer som skapas får 644 för filer och 755 för mappar.

Mitt problem blir när jag nu flyttar filer från min sajt på Binero till min VPS via FTP. PHP vägrar skriva till filerna om inte alla mappar plus alla filer får CHMOD 777.

Jag gissar att det har något att göra vem som äger eller vem som har skapat filerna - eller? Hur kan jag på min Debian VPS göra så att PHP fritt kan manipulera filer precis som på Binero och Loopia? Det har väl att göra med kommandot chown att göra - eller?

Och om jag sätter CHMOD 777 på allting - gör jag inte säkerheten mindre då? Vad skulle kunna hända? Säkerhet är det viktigaste för mig.

Tack på förhand.
Jim_Westergren är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-06-10, 11:49 #2
abergmans avatar
abergman abergman är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Feb 2010
Inlägg: 762
abergman abergman är inte uppkopplad
Mycket flitig postare
abergmans avatar
 
Reg.datum: Feb 2010
Inlägg: 762
Citat:
Ursprungligen postat av Jim_Westergren Visa inlägg
På både Loopia och Binero så kan PHP fritt ändra på filer, skapa filer, skapa mappar, radera filer och mappar osv och man behöver inte sätt att något ska vara CHMOD 777. Filerna som PHP skapar får CHMOD 644 och katalogerna CHMOD 755 automatiskt. Det har funkat perfekt för mig.

Nu har jag skaffat en VPS och installerat LAMP enligt denna guiden.

På min VPS måste mappen först ha CHMOD 777 innan PHP kan skapa mappar och filer under den katalogen. Men de mappar och filer som skapas får 644 för filer och 755 för mappar.

Mitt problem blir när jag nu flyttar filer från min sajt på Binero till min VPS via FTP. PHP vägrar skriva till filerna om inte alla mappar plus alla filer får CHMOD 777.

Jag gissar att det har något att göra vem som äger eller vem som har skapat filerna - eller? Hur kan jag på min Debian VPS göra så att PHP fritt kan manipulera filer precis som på Binero och Loopia? Det har väl att göra med kommandot chown att göra - eller?

Och om jag sätter CHMOD 777 på allting - gör jag inte säkerheten mindre då? Vad skulle kunna hända? Säkerhet är det viktigaste för mig.

Tack på förhand.
chown är din vän jag antar att du använder apache och debian, då bör chown -R www-data:www-data eller -R www-data:root på /var/www fixa biffen.
abergman är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-06-10, 11:58 #3
Jim_Westergrens avatar
Jim_Westergren Jim_Westergren är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2005
Inlägg: 1 058
Jim_Westergren Jim_Westergren är inte uppkopplad
Har WN som tidsfördriv
Jim_Westergrens avatar
 
Reg.datum: May 2005
Inlägg: 1 058
chown -R www-data:www-data funkade perfekt, tack!

Testade bara en viss mapp.

Är det säkrare att köra det på bara de mappar och filer som behöver det än hela /var/www och alla domäner?
Jim_Westergren är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-06-10, 12:19 #4
abergmans avatar
abergman abergman är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Feb 2010
Inlägg: 762
abergman abergman är inte uppkopplad
Mycket flitig postare
abergmans avatar
 
Reg.datum: Feb 2010
Inlägg: 762
Citat:
Ursprungligen postat av Jim_Westergren Visa inlägg
chown -R www-data:www-data funkade perfekt, tack!

Testade bara en viss mapp.

Är det säkrare att köra det på bara de mappar och filer som behöver det än hela /var/www och alla domäner?
Som du säkert förstår så ändrar chown ägaren av filerna, så att sätta det på alla filer i webbkatalogen skulle ge webbservern fullt ägarskap på alla filer, och kan potentiellt ge en utomstående hacker eller något tillgång till filerna.

Men jag skulle inte säga att det är något extremt utan du kan lugnt sätta det på alla filer för domänen/siten/vhosten som används av webbservern.

Dock så ska du ju bara ge webbservern skrivrättigheter på de filer som den ska ha skrivrättigheter på.
abergman är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-06-10, 12:30 #5
Jim_Westergrens avatar
Jim_Westergren Jim_Westergren är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2005
Inlägg: 1 058
Jim_Westergren Jim_Westergren är inte uppkopplad
Har WN som tidsfördriv
Jim_Westergrens avatar
 
Reg.datum: May 2005
Inlägg: 1 058
Ok jättebra.

Dock upptäckte jag om jag satte webbservern som ägare så förlorade jag själv skrivrättigheter via FTP. Jag behöver både två.

Jag har tidigare använt detta för att skapa en grupp och en användare:
groupadd www-pub
adduser –ingroup www-pub NN

Så hur fixar jag så att denna användaren NN äger och har rättigheter till allt och sedan kan webbservern även äga vissa mappar och filer. Kan mappar och filer ha flera ägare? Googlade lite men hittade inget svar.
Jim_Westergren är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-06-10, 12:33 #6
Weaver Weaver är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2006
Inlägg: 403
Weaver Weaver är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2006
Inlägg: 403
Citat:
Ursprungligen postat av Jim_Westergren Visa inlägg
Är det säkrare att köra det på bara de mappar och filer som behöver det än hela /var/www och alla domäner?
Rent generellt skall du låta servern kunna läsa allt i webrooten men du skall vara mycket sparsam med skrivrättigheter.

Skrivrättigheter skall du bara dela ut på uppladdnings-mappar (tex för wordpress: wp-content/upload, wp-content/gallery) och mappar som innehåller cachar.

Om ett script behöver skriva till servern under installation så ge den temporärt tillstånd genom chmod (utan -R) i den specifika mappen och ta sedan bort skrivrättigheterna när installationen är klar.
Weaver är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-06-10, 12:41 #7
Weaver Weaver är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2006
Inlägg: 403
Weaver Weaver är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2006
Inlägg: 403
Citat:
Ursprungligen postat av Jim_Westergren Visa inlägg
Dock upptäckte jag om jag satte webbservern som ägare så förlorade jag själv skrivrättigheter via FTP. Jag behöver både två.

Jag har tidigare använt detta för att skapa en grupp och en användare:
groupadd www-pub
adduser –ingroup www-pub NN

Så hur fixar jag så att denna användaren NN äger och har rättigheter till allt och sedan kan webbservern även äga vissa mappar och filer. Kan mappar och filer ha flera ägare? Googlade lite men hittade inget svar.
På min server äger NN filerna vilket gör att man kan logga in via ftp och ändra och ta bort filer hur man vill. Gruppägaren för filerna är apache vilket gör att apache kan läsa och tolka innehållet.

Kataloger och filer kan bara ha en ägare men via grupper kan man låta flera användare få access till filerna.
Weaver är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-06-10, 12:43 #8
abergmans avatar
abergman abergman är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Feb 2010
Inlägg: 762
abergman abergman är inte uppkopplad
Mycket flitig postare
abergmans avatar
 
Reg.datum: Feb 2010
Inlägg: 762
Citat:
Ursprungligen postat av Jim_Westergren Visa inlägg
Ok jättebra.

Dock upptäckte jag om jag satte webbservern som ägare så förlorade jag själv skrivrättigheter via FTP. Jag behöver både två.

Jag har tidigare använt detta för att skapa en grupp och en användare:
groupadd www-pub
adduser –ingroup www-pub NN

Så hur fixar jag så att denna användaren NN äger och har rättigheter till allt och sedan kan webbservern även äga vissa mappar och filer. Kan mappar och filer ha flera ägare? Googlade lite men hittade inget svar.
Du kan prova lägga till ftp-användaren i gruppen www-data/www-pub eller tvärt om. annars kan du alltid sätta ftp-gruppen som ägare och www-data användaren som ägare.

Jag undviken att använda FTP av den här anledningen Kör med scp eller något liknande istället och har en användare med lite mer rättigheter.
abergman är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-06-10, 13:02 #9
cyners avatar
cyner cyner är inte uppkopplad
Medlem
 
Reg.datum: Jun 2006
Inlägg: 74
cyner cyner är inte uppkopplad
Medlem
cyners avatar
 
Reg.datum: Jun 2006
Inlägg: 74
Jag tycker att /var/www och alla underkataloger och filer ska ägas av användaren www-pub och gruppen www-pub som jag skrev i guiden (inte www-data, alltså webbservern).

MEN, det krävs ofta att man ger PHP eller webbservern rättigheter att skriva till vissa filer eller mappar (vi tar exemplet "wp-content" i WordPress), och då föreslår jag att du gör så här:

Kod:
chown -R www-pub:www-data wp-content
Då blir www-pub ägare och www-data ägargrupp för dessa filer och mappar, men alla andra är fortfarande skrivskyddade för webbservern.

Sedan måste du också ange vilka rättigheter ägaren och användarna i ägargruppen ska ha -- de kan nämligen skilja sig åt. Det gör du med kommandot chmod:

Kod:
chmod -R g+w wp-content
ger (+) gruppen (g) rättighet att skriva (w) till wp-content och alla underkataloger och filer.

(Jag brukar aldrig använda siffror för chmod, det är obegripligt för mig.)

Du kan också skriva exempelvis

Kod:
chmod -R o-wx wp-content
för att ta bort (-) rättigheterna att skriva (w) och köra/öppna (x) från användare som inte är ägare eller tillhör ägargruppen.

För att se vilka rättigheter filerna och mapparna har, kör kommandot "ls -l" och titta på de första kolumnerna.
cyner är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-06-10, 13:05 #10
Jim_Westergrens avatar
Jim_Westergren Jim_Westergren är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2005
Inlägg: 1 058
Jim_Westergren Jim_Westergren är inte uppkopplad
Har WN som tidsfördriv
Jim_Westergrens avatar
 
Reg.datum: May 2005
Inlägg: 1 058
Weaver,

Jo det är väl så man normalt gör. Men i mitt fall måste servern även kunna manipulera med filer och mappar i två stora mappar.

abergman,

Tack så mycket för hjälpen. Som du kanske förstod så är jag helt noob med detta. Har nyligen skaffat VPS.

Jag testade useradd -G www-data NN och då stod det:
useradd: user NN exists

Sen för att testa skrev jag groups NN men då nämns bara www-pub och sudo och inte www-data plus att det är samma sak på FTP.

Jag vet inte om jag gjorde fel. scp har jag aldrig hört talat om.

Jag behöver inte riktigt FTP för dessa två stora mapparna, jag kan skriva ett PHP script istället som kan manipulera de filerna så jag har i alla fall löst mitt problem även om det kanske inte är perfekt.

Är det förresten någon skillnad i säkerhet mellan om www-data äger och kan manipulera filerna eller om filerna har CHMOD 777 och kan på det sättet manipuleras av www-data?
Jim_Westergren är inte uppkopplad   Svara med citatSvara med citat
Svara

Taggar
chmod, chown, debian, php, vps


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 22:38.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017