Åtkomstbehörigheter för filsystem

I det här avsnittet beskrivs hur du konfigurerar ägare eller ägare av Commerce filsystem för ett utvecklings- och produktionssystem. Granska de koncept som beskrivs i Översikt över ägarskap och behörigheter i filsystemet innan du fortsätter.

Det här ämnet handlar om Commerce utvecklings- och produktionssystem. Om du installerar Commerce kan du läsa Ange ägarskap och behörigheter för förinstallation.

De avsnitt som följer behandlar kraven för en eller två ägare av filsystem. Det innebär:

  • En användare - Krävs oftast för delade värdtjänstleverantörer, som bara ger dig åtkomst till en användare på servern. Den här användaren kan logga in, överföra filer med FTP och den här användaren kör även webbservern.

  • Två användare - Vi rekommenderar två användare om du kör en egen Commerce-server: en för att överföra filer och köra kommandoradsverktyg samt en separat användare för webbserverprogrammet. När det är möjligt är detta att föredra eftersom det är säkrare.

    I stället har du separata användare:

    • Webbserveranvändaren som kör Admin och storefront.

    • En kommandoradsanvändare, som är ett lokalt användarkonto som du kan använda för att logga in på servern. Den här användaren kör Commerce cron-jobb och kommandoradsverktyg.

Ägande av produktionsfilsystem för delad värdtjänst (en användare)

Om du vill använda enägarskonfigurationen måste du logga in på din Commerce-server som samma användare som kör webbservern. Detta är typiskt för delade värdtjänster.

Eftersom det är mindre säkert att ha en ägare av ett filsystem rekommenderar vi att du distribuerar Commerce i produktion på en privat server i stället för på en delad värdtjänst, om det är möjligt.

Konfigurera en ägare för standard- eller utvecklarläge

I standardläge eller utvecklarläge måste följande kataloger vara skrivbara av användaren:

  • vendor
  • app/etc
  • pub/static
  • var
  • Andra statiska resurser
  • generated/code
  • generated/metadata
  • var/view_preprocessed

Du kan ange dessa behörigheter antingen med kommandoraden eller ett filhanteringsprogram som tillhandahålls av din delade värdleverantör.

Ställ in en ägare för produktionsläge

När du är redo att distribuera webbplatsen till produktion bör du ta bort skrivåtkomsten från filer i följande kataloger för förbättrad säkerhet:

  • vendor
  • app/code
  • app/etc
  • pub/static
  • Andra statiska resurser
  • generated/code
  • generated/metadata
  • var/view_preprocessed

Om du vill uppdatera komponenter, installera nya komponenter eller uppgradera Commerce måste alla föregående kataloger vara skrivskyddade.

Skrivskydda kodfiler och kataloger

Så här tar du bort skrivbehörigheter till filer och kataloger från webbserverns användargrupp:

  1. Logga in på din Commerce-server.

  2. Byt till Commerce installationskatalog.

  3. Byt till produktionsläge.

    code language-bash
    bin/magento deploy:mode:set production
    
  4. Ta bort skrivbehörigheter till följande kataloger.

    code language-bash
    find app/code var/view_preprocessed vendor pub/static app/etc generated/code generated/metadata \( -type f -or -type d \) -exec chmod u-w {} + && chmod o-rwx app/etc/env.php
    
  5. Gör kommandoradsverktyget körbart.

    code language-bash
    chmod u+x bin/magento
    

Göra kodfiler och kataloger skrivbara

Så här gör du filer och kataloger skrivbara så att du kan uppdatera komponenter och uppgradera Commerce:

  1. Logga in på din Commerce-server.

  2. Byt till Commerce installationskatalog.

  3. Ange följande kommandon:

    code language-bash
    chmod -R u+w .
    

Ange magento_umask om du vill

Se Ange en mask i installationshandboken om du vill.

Ägarskap för produktionsfilsystem för privat värdtjänst (två användare)

Om du använder en egen server (inklusive en värdleverantörs privata serverkonfiguration) finns det två användare:

  • Webbserveranvändaren 1}, som kör Admin och storefront.

    I Linux-system finns vanligtvis inget gränssnitt för den här användaren. Du kan inte logga in på Commerce-servern som, eller växla till, webbserveranvändaren.

  • Kommandoradsanvändaren som du loggar in på din Commerce-server som eller växlar till.

    Commerce använder den här användaren för att köra CLI-kommandon och cron.

    note info
    INFO
    Kommandoradsanvändaren kallas även filsystemsägare.

Eftersom de här användarna kräver åtkomst till samma filer rekommenderar vi att du skapar en delad grupp som båda tillhör. Följande procedurer förutsätter att du redan har gjort detta.

Se något av följande avsnitt:

  • Två ägare av filsystem i utvecklarläge eller standardläge
  • Två ägare av filsystem i produktionsläge

Ställ in två ägare för standard- eller utvecklarläge

Filer i följande kataloger måste vara skrivbara av båda användarna i utvecklarläge och standardläge:

  • var
  • generated
  • pub/static
  • pub/media
  • app/etc

Ange biten setgid i kataloger så att behörigheter alltid ärver från den överordnade katalogen.

INFO
setgid gäller bara för kataloger, inte för filer.

Katalogerna bör dessutom vara skrivbara av webbservergruppen. Eftersom innehåll kan finnas i dessa kataloger lägger du till behörigheterna rekursivt.

Ange behörigheter och setgid

Så här anger du setgid och behörigheter för utvecklarläget:

  1. Logga in på din Commerce-server som ägare av filsystemet eller växla till det.

  2. Ange följande kommandon i den ordning som visas:

    code language-bash
    cd <magento_root>
    
    code language-bash
    find var generated pub/static pub/media app/etc -type f -exec chmod g+w {} +
    
    code language-bash
    find var generated pub/static pub/media app/etc -type d -exec chmod g+ws {} +
    

Två ägare av filsystem i produktionsläge

När du är redo att distribuera webbplatsen till produktion bör du ta bort skrivåtkomsten från filer i följande kataloger för förbättrad säkerhet:

  • vendor
  • app/code
  • app/etc
  • lib
  • pub/static
  • Andra statiska resurser
  • generated/code
  • generated/metadata
  • var/view_preprocessed

Skrivskydda kodfiler och kataloger

Så här tar du bort skrivbara behörigheter till filer och kataloger från webbserverns användargrupp:

  1. Logga in på din Commerce-server.

  2. Byt till Commerce installationskatalog.

  3. Som ägare av filsystemet anger du följande kommando för att växla till produktionsläge:

    code language-bash
    bin/magento deploy:mode:set production
    
  4. Ange följande kommando som en användare med behörigheten root:

    code language-bash
    find app/code lib pub/static app/etc generated/code generated/metadata var/view_preprocessed \( -type d -or -type f \) -exec chmod g-w {} + && chmod o-rwx app/etc/env.php
    

Göra kodfiler och kataloger skrivbara

Så här gör du filer och kataloger skrivbara så att du kan uppdatera komponenter och uppgradera Commerce:

  1. Logga in på din Commerce-server.

  2. Byt till Commerce installationskatalog.

  3. Ange följande kommando:

    code language-bash
    find app/code lib var generated vendor pub/static pub/media app/etc \( -type d -or -type f \) -exec chmod g+w {} + && chmod o+rwx app/etc/env.php
    
recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c