Sikkerhet: Rettigheter på filer og mapper (chmod)

Moderators: sone12, Per Yngve Berg

Post Reply
lhlied
Joomla! Intern
Joomla! Intern
Posts: 67
Joined: Mon Nov 21, 2005 11:44 am

Sikkerhet: Rettigheter på filer og mapper (chmod)

Post by lhlied » Tue Jan 24, 2006 5:27 pm

Jeg lurer på hvordan en kan unngå å bruke 666 og 777 på rettigheter for filer/mapper på domeneshop sine servere. ALle filer som blir opprettet av apache/php blir opprettet som www i stedet for min lokale bruker. Har lagt merke til at enkelte andre netttilbydere har serversystem som gjør at filer opprettet av apache/php blir opprettet som lokal bruker.

Altså hvordan kan jeg få dette fikset med domeneshop?


[Moderatormerknad: Satt som prioritert - rued]
Last edited by rued on Sun Jul 29, 2007 8:00 pm, edited 1 time in total.

User avatar
jenscski
Joomla! Ace
Joomla! Ace
Posts: 1465
Joined: Thu Aug 18, 2005 6:58 am
Location: Tønsberg, Norway

Re: Sikkerhet: Rettigheter på filer og mapper (chmod)

Post by jenscski » Tue Jan 24, 2006 5:33 pm

Du får nok desverre ikke slik du vil på domeneshop, du kan eventuelt sende en mail til dem å få dem til å endre eier på filene dine, men dette må gjøres hver gang du legger til noe nytt.

Men det du kan gjøre, hvis du enten har ssh tilgang, eller en ftp klient som støtter det, så kan du sette rettighetene til 2757 på mappene som må være skrivbare for Joomla (mambots, components etc etc). Samt settet i global configuration fil rettigheter til 664, og mapperettigheter til 664.

2757 fører til at din bruker får eier rettigheter til de ny filene, slik at du kan slette og endre dem selv om du ikke står som eier.
Og rettighetene som Joomla setter gjør at du som brukeren kan lese og slette mapper og filer.
Jens-Christian Skibakk
MMS Blog - http://mms.pipp.no/
Joomla! i Norge / Joomla! in Norway - http://www.joomlainorge.no/

lhlied
Joomla! Intern
Joomla! Intern
Posts: 67
Joined: Mon Nov 21, 2005 11:44 am

Re: Sikkerhet: Rettigheter på filer og mapper (chmod)

Post by lhlied » Tue Jan 24, 2006 7:08 pm

664 =
eier, les+skriv
gruppe, les+skriv
alle, les

Men 2757 har jeg aldri hørt om.

ser at at en fil blir: -rwxr-srwx som sier meg endel, men s-parameteret er for meg ukjent. Etter å ha lest litt man chmod, hvorfor ikke bruke 4757?

User avatar
jenscski
Joomla! Ace
Joomla! Ace
Posts: 1465
Joined: Thu Aug 18, 2005 6:58 am
Location: Tønsberg, Norway

Re: Sikkerhet: Rettigheter på filer og mapper (chmod)

Post by jenscski » Tue Jan 24, 2006 7:22 pm

Av en eller annen grunn så tror ikke 4757 fungerer, jeg prøvde det nå, på domeneshop, og det ga ingen resultater.

2757 betyr at nye filer eller mapper som blir opprattet inne i en mappen slike rettigheter blir tilhørende undermappens gruppe. Slik at gruppen brukeren din er medlem av kan få skrive og slette rettigheter til filen, uten at alle andre brukere på sammer server har tilgang.
Jens-Christian Skibakk
MMS Blog - http://mms.pipp.no/
Joomla! i Norge / Joomla! in Norway - http://www.joomlainorge.no/

lhlied
Joomla! Intern
Joomla! Intern
Posts: 67
Joined: Mon Nov 21, 2005 11:44 am

Re: Sikkerhet: Rettigheter på filer og mapper (chmod)

Post by lhlied » Tue Jan 24, 2006 10:20 pm

ok. Litt rart at 2xxx er det samme som 4xxx i henholdsvis Linux 2.4.32 (som domeneshop bruker) og Mac OS X 10.4 som jeg skrev man chmod i.

I Mac OS X står det nemlig følgende i manualen:
        4000    (the set-user-ID-on-execution bit) Executable files with
                  this bit set will run with effective uid set to the uid of
                  the file owner.  Directories with the set-user-id bit set
                  will force all files and sub-directories created in them to
                  be owned by the directory owner and not by the uid of the
                  creating process, if the underlying file system supports
                  this feature: see chmod(2) and the suiddir option to
                  mount(8).
          2000    (the set-group-ID-on-execution bit) Executable files with
                  this bit set will run with effective gid set to the gid of
                  the file owner.

User avatar
keh
Joomla! Enthusiast
Joomla! Enthusiast
Posts: 188
Joined: Fri Sep 16, 2005 4:55 pm
Location: Oslo
Contact:

Re: Sikkerhet: Rettigheter på filer og mapper (chmod)

Post by keh » Wed Jan 25, 2006 3:45 am

Et lite tips... For å unngå world writeble, 777 på feks. cache mappa (Rettighetene må være satt til 777 hvis eierskapet er satt til domenet og du bruker cache... Noe som ikke er så lurt), så kan du slette den, og så opprette den på nytt ved hjelp av Joomla!explorer. Setter du nå rettighetene til 755 feks., så klarer joomla å skrive til mappa fordi eierskapet nå er satt til rot. Det samme gjelder feks. configuration.php og index.php i templaten osv. osv. Det er litt tungvint siden joomlaexplorer ikke kan overskrive filer, men sikkerheten øker jo betraktelig...

User avatar
jenscski
Joomla! Ace
Joomla! Ace
Posts: 1465
Joined: Thu Aug 18, 2005 6:58 am
Location: Tønsberg, Norway

Re: Sikkerhet: Rettigheter på filer og mapper (chmod)

Post by jenscski » Wed Jan 25, 2006 2:48 pm

lhlied wrote: ok. Litt rart at 2xxx er det samme som 4xxx i henholdsvis Linux 2.4.32 (som domeneshop bruker) og Mac OS X 10.4 som jeg skrev man chmod i.
2000 er også set-gid på linux...
2757 betyr at nye filer eller mapper som blir opprettet inne i en mappen slike rettigheter blir tilhørende undermappens gruppe. Slik at gruppen brukeren din er medlem av kan få skrive og slette rettigheter til filen, uten at alle andre brukere på sammer server har tilgang.
Jens-Christian Skibakk
MMS Blog - http://mms.pipp.no/
Joomla! i Norge / Joomla! in Norway - http://www.joomlainorge.no/

Lamelot
Joomla! Apprentice
Joomla! Apprentice
Posts: 33
Joined: Fri Jan 13, 2006 10:03 am
Contact:

Re: Sikkerhet: Rettigheter på filer og mapper (chmod)

Post by Lamelot » Fri Feb 03, 2006 5:42 pm

tror dette kan være nyttig for meg også, når jeg leker meg med forsøk på joomla/gallery2 installeringer på domeneshop....

Hvordan blir syntaxen her? Hva skal jeg faktisk skrive? :'(

User avatar
jenscski
Joomla! Ace
Joomla! Ace
Posts: 1465
Joined: Thu Aug 18, 2005 6:58 am
Location: Tønsberg, Norway

Re: Sikkerhet: Rettigheter på filer og mapper (chmod)

Post by jenscski » Mon Feb 06, 2006 7:32 am

I løpet av de nærmeste dagene så skal jeg se om jeg klarer å skrive en liten forklaring på hvilke fordeler man har ved å bruke rettighetene 2757
Jens-Christian Skibakk
MMS Blog - http://mms.pipp.no/
Joomla! i Norge / Joomla! in Norway - http://www.joomlainorge.no/

User avatar
jenscski
Joomla! Ace
Joomla! Ace
Posts: 1465
Joined: Thu Aug 18, 2005 6:58 am
Location: Tønsberg, Norway

Re: Sikkerhet: Rettigheter på filer og mapper (chmod)

Post by jenscski » Wed Feb 08, 2006 6:02 pm

Her følger en beskrivelse av hvordan jeg installerer Joomla 1.0 på domeneshop, men antar at det fungerer like bra på andre webhotell hvor man har ssh-tilgang.
Jeg bruker SSH til å gjøre visse endringer, og vet ikke om alle de operasjonene jeg utfører kan gjøres med en FTP-klient

Last opp eller pakk ut alle filene til Joomla 1.0 i ønsket mappe.
Gå til denne mappen og gjør følgende:

  • I SSH: find -type f -exec chmod 644 {} \;
  • I SSH: find -type d -exec chmod 755 {} \;
  • For Joomla! 1.0.x
    I SSH: chmod 2757 administrator/backups/ administrator/components/ administrator/modules/ administrator/templates/ cache/ components/ images/ images/banners/ images/stories/ language/ mambots/ mambots/content/ mambots/editors mambots/editors-xtd/ mambots/search/ media/ modules/ templates/

    For Joomla! 1.5.x
    I SSH: chmod 2757 administrator/backups/ administrator/components/ administrator/language/ administrator/language/en-GB/ administrator/language/nb-NO/ administrator/modules/ administrator/templates/ cache/ components/ images/ images/banners/ images/stories/ language/ language/en-GB/ language/nb-NO/ language/pdf_fonts/ plugins/ plugins/content/ plugins/editors plugins/editors-xtd/ plugins/search/ plugins/system/ plugins/user/ plugins/xmlrpc/ media/ modules/ tmp/ templates/ administrator/cache/
  • I SSH: touch configuration.php
  • I SSH: chmod 666 configuration.php
  • I nettleser: Installer på vanlig måte
  • I nettleser: I steg 3 under installeringen (Kun J! 1.0); Sett på CHMOD files to: 664, og set på CHMOD folders to: 775
  • I SSH: rm -rf installation/
  • I nettleser: Endre det som trengs i Global Configuration
  • I SSH: chmod 644 configuration.php

En liten forklaring av punktene over
De to første punktene er ikke nødvendig, men de sikrer at alle filene har de rettighetene de skal ha. Den første linjene setter alle filene i mappen, og undermappene fra der du står til 644. Den andre linjen setter rettighetene til alle mapper, undermapper til 755.
Den tredje komandoen endre rettighetene til de mappene som Joomla trenger å ha skrive tilgang til. Det spesielle ved å bruke 2757 er at mappen får noe som kalles setgidbit, dvs set group id. Dette fører til at når Joomla oppretter nye mapper og filer i en mappe med setgid, så får de nye mappene og filene gruppen til mappen de ligger i sin gruppe som eier.
Et lite eksempel:
Her er rettighetene til mappen modules, den eies av meg, og min gruppe, og har rettighetene 2757.
drwxr-srwx    2 jenscski    jenscski        4.0K Jan 16 10:17 modules/
Hvis jeg nå installere en modul så vil disse filene få følgende rettigheter
-rw-rw-r--    1 www      jenscski    3.8K Nov  2 15:06 mod_modulnavn.php
-rw-rw-r--    1 www      jenscski    3.7K Nov  2 15:06 mod_modulnavn.xml

Her ser du at filene eies av www, som er brukeren apache kjøres under. Men du ser også at gruppen jeg er medlem av har skriverettigheter til filen, og at alle andre kun har lesetilgang.
Dette har skjedd fordi under installasjon så valgte jeg så sette 664 på CHMOD på filer, og at mappen modules har setgid satt.

Det samme skjer når man installerer en komponent.
drwxrwsr-x  3 www      jenscski    4096 Oct 11 12:49 com_komponentnavn/
-rw-rw-r--  1 www      jenscski    20869 Oct  7 20:28 com_komponentnavn/komponentnavn.php

Her har det samme skjedd, file eies av www, men kan slettes og skrives til av meg.
Det samme gjelder også mappen com_komponentnavn, du ser her at den også har "arvet" setgid fra underliggende mappe.



På punkt nummer 4 og 5 oppretter jeg bare en tom configuration.php som jeg setter rettigheter på slik at alle kan skrive til den, og i det siste punktet setter jeg rettighetene til configuration.php slik at bare jeg som bruker kan endre den.


Konklusjon
Så hvorfor bruke setgid?
Det man oppnår ved å bruke setgid er at man som bruker har full tilgang til filene og mappene som blir opprettet ved installasjon av komponenter og moduler via Joomla.


Så håper noen skjønte hva jeg prøvde å fortelle, og at noen får bruk for det.
Last edited by rued on Wed Apr 01, 2009 5:24 pm, edited 4 times in total.
Reason: Endret punkt 3 til å også gjelde for Joomla! 1.5
Jens-Christian Skibakk
MMS Blog - http://mms.pipp.no/
Joomla! i Norge / Joomla! in Norway - http://www.joomlainorge.no/

User avatar
rued
Joomla! Virtuoso
Joomla! Virtuoso
Posts: 4840
Joined: Fri Sep 16, 2005 10:23 pm
Location: Finland / Norway
Contact:

Re: Sikkerhet: Rettigheter på filer og mapper (chmod)

Post by rued » Sat Apr 15, 2006 11:58 am

Må bare legge til et lite tips her..  :)

WinSCP er et ftp-program som kobler til med SSH via et PuTTY-tillegg, og den har også mulighet for å kjøre kommandovinduet til PuTTY - for de som foretrekker det.

Dette ftp-programmet har en del ekstra funksjoner som du ikke finner til vanlig, bl.a. kan du med sette setgid (chmod 2757) m.m. på mappene.

Hjemmesiden til programmet er: http://winscp.net/

Merk! Du må ha SSH tilgang hos din webleverandør for å bruke dette.  ;)


Litt mer info om SSH og fordelene med det (på Engelsk): http://winscp.net/eng/docs/ssh
De som vil kjøre kommandovinduet til PuTTY finner det her: http://www.putty.nl/
Last edited by rued on Sat Apr 15, 2006 12:04 pm, edited 1 time in total.
Rune Rasmussen - https://syntaxerror.no/
Norske nettløsninger og integrasjoner, brukerstøtte og vedlikehold m.m. for betalende kunder.

Norske oversettelser -> viewtopic.php?f=210&t=1006497

User avatar
rued
Joomla! Virtuoso
Joomla! Virtuoso
Posts: 4840
Joined: Fri Sep 16, 2005 10:23 pm
Location: Finland / Norway
Contact:

Re: Sikkerhet: Rettigheter på filer og mapper (chmod)

Post by rued » Wed Apr 01, 2009 4:38 pm

VIKTIG!!!

Guiden gjelder netthotell som ikke har løsning for rettighetsproblematikken, den skal ikke brukes på netthoteller som kjører suPHP, suEXEC, FastCGI eller PHP CGI


Dette gjelder nå de fleste servere også hos Domeneshop, spesielt nyere kontoer, pluss de som er listet som grønn i vår oversikt over norske leverandører http://forum.joomla.org/viewtopic.php?f=436&t=156319
Rune Rasmussen - https://syntaxerror.no/
Norske nettløsninger og integrasjoner, brukerstøtte og vedlikehold m.m. for betalende kunder.

Norske oversettelser -> viewtopic.php?f=210&t=1006497


Post Reply

Return to “Arkiv”