Toegangsrechten voor bestandssystemen

In deze sectie wordt besproken hoe u de eigenaar of eigenaars van het Commerce-bestandssysteem kunt instellen voor een ontwikkelings- en productiesysteem. Alvorens u verdergaat, herzie de concepten die in Overzicht van de eigendom en de toestemmingen van het dossiersysteemworden besproken.

Dit onderwerp is gericht op de ontwikkeling en productiesystemen van Commerce. Als u Commerce installeert, zie Vastgestelde pre-installatiereigenschap en toestemmingen.

De volgende secties bespreken vereisten voor één of twee eigenaars van bestandssystemen. Dat betekent:

  • Één gebruiker - typisch noodzakelijk op gedeelde ontvangende leveranciers, die u toestaan om tot slechts één gebruiker op de server toegang te hebben Deze gebruiker kan login, overdrachtdossiers gebruikend FTP, en deze gebruiker stelt ook de Webserver in werking.

  • twee gebruikers - wij adviseren twee gebruikers als u uw eigen server van Commerce in werking stelt: één om dossiers over te brengen en bevel-lijn nut in werking te stellen, en een afzonderlijke gebruiker voor de software van de Webserver. Dit verdient de voorkeur wanneer dat mogelijk is, omdat het veiliger is.

    In plaats daarvan hebt u verschillende gebruikers:

    • De gebruiker van de Webserver, die Admin en opslag in werking stelt.

    • A bevel-lijn gebruiker, die een lokale gebruikersrekening is u aan login aan de server kunt gebruiken. Deze gebruiker voert Commerce-bouwtaken en opdrachtregelprogramma's uit.

Eigendom van productiebestandssysteem voor gedeelde hosting (één gebruiker)

Als u de installatie van één eigenaar wilt gebruiken, moet u zich aanmelden bij uw Commerce-server als dezelfde gebruiker die de webserver uitvoert. Dit is standaard voor gedeelde hosting.

Omdat één eigenaar van het bestandssysteem minder veilig is, raden we u aan om Commerce in productie te implementeren op een privéserver in plaats van op gedeelde hosting, indien mogelijk.

Eén eigenaar instellen voor de standaard- of ontwikkelmodus

In de standaard- of ontwikkelaarsmodus moet de gebruiker de volgende mappen schrijven:

  • vendor
  • app/etc
  • pub/static
  • var
  • Andere statische bronnen
  • generated/code
  • generated/metadata
  • var/view_preprocessed

U kunt deze machtigingen instellen via de opdrachtregel of via een toepassing voor bestandsbeheer die wordt geleverd door uw gedeelde hostingprovider.

Eén eigenaar instellen voor de productiemodus

Als u klaar bent om uw site te implementeren voor productie, moet u voor betere beveiliging schrijftoegang verwijderen uit bestanden in de volgende directory's:

  • vendor
  • app/code
  • app/etc
  • pub/static
  • Andere statische bronnen
  • generated/code
  • generated/metadata
  • var/view_preprocessed

Om componenten bij te werken, nieuwe componenten te installeren, of de software van Commerce te bevorderen, moeten alle voorafgaande folders read-write zijn.

Codebestanden en -mappen alleen-lezen maken

U verwijdert schrijfmachtigingen voor bestanden en mappen uit de gebruikersgroep van de webserver als volgt:

  1. Meld u aan bij uw Commerce-server.

  2. Ga naar de installatiemap van Commerce.

  3. Overschakelen naar productiemodus.

    code language-bash
    bin/magento deploy:mode:set production
    
  4. Verwijder schrijfmachtigingen naar de volgende directory's.

    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. Maak het bevel-lijn hulpmiddel uitvoerbaar.

    code language-bash
    chmod u+x bin/magento
    

Codebestanden en mappen schrijfbaar maken

Bestanden en mappen schrijfbaar maken, zodat u onderdelen kunt bijwerken en de Commerce-software kunt upgraden:

  1. Meld u aan bij uw Commerce-server.

  2. Ga naar de installatiemap van Commerce.

  3. Voer de volgende opdrachten in:

    code language-bash
    chmod -R u+w .
    

Optioneel instellen magento_umask

Zie naar keuze plaatsen een maskerin de gids van de Installatie.

Eigendom van productiebestandssysteem voor privéhosting (twee gebruikers)

Als u uw eigen server gebruikt (inclusief de privéserverinstallatie van een hostprovider), zijn er twee gebruikers:

  • De gebruiker van de Webserver, die Admin en storefront in werking stelt.

    Linux-systemen bieden doorgaans geen shell voor deze gebruiker. U kunt zich niet aanmelden bij de Commerce-server als of overschakelen naar de webservergebruiker.

  • De bevel-lijn gebruiker, die u login aan uw server van Commerce als of schakelaar aan.

    Commerce gebruikt deze gebruiker om CLI-opdrachten en uitsnijden uit te voeren.

    note info
    INFO
    De bevel-lijn gebruiker wordt ook bedoeld als eigenaar van het dossiersysteem.

Omdat deze gebruikers toegang tot de zelfde dossiers vereisen, adviseren wij u tot a gedeelde groeptot welke zij allebei behoren. De volgende procedures gaan ervan uit dat u dit al hebt gedaan.

Zie een van de volgende secties:

  • Twee eigenaars van bestandssystemen in de ontwikkelings- of standaardmodus
  • Twee eigenaars van bestandssystemen in de productiemodus

Twee eigenaars instellen voor de standaard- of ontwikkelmodus

Bestanden in de volgende mappen moeten door beide gebruikers in de ontwikkelaar- en de standaardmodus kunnen worden geschreven:

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

Plaats het setgidbeetje op folders zodat erven de toestemmingen altijd van de ouderfolder.

INFO
setgid is slechts op folders van toepassing, niet op dossiers.

Daarnaast moeten de mappen kunnen worden geschreven door de groep met webservers. Omdat de inhoud in deze folders zou kunnen bestaan, voeg recursief de toestemmingen toe.

Machtigingen instellen en setgid

U kunt als volgt setgid en machtigingen voor de modus Ontwikkelaar instellen:

  1. Meld u aan bij uw Commerce-server als eigenaar van het bestandssysteem of schakel over naar de eigenaar van het bestandssysteem.

  2. Voer de volgende opdrachten in de getoonde volgorde in:

    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 {} +
    

Twee eigenaars van bestandssystemen in de productiemodus

Als u klaar bent om uw site te implementeren voor productie, moet u voor betere beveiliging schrijftoegang verwijderen uit bestanden in de volgende directory's:

  • vendor
  • app/code
  • app/etc
  • lib
  • pub/static
  • Andere statische bronnen
  • generated/code
  • generated/metadata
  • var/view_preprocessed

Codebestanden en -mappen alleen-lezen maken

U verwijdert schrijfbare machtigingen voor bestanden en mappen uit de gebruikersgroep van de webserver als volgt:

  1. Meld u aan bij uw Commerce-server.

  2. Ga naar de installatiemap van Commerce.

  3. Als eigenaar van het bestandssysteem voert u de volgende opdracht in om over te schakelen op de productiemodus:

    code language-bash
    bin/magento deploy:mode:set production
    
  4. Voer de volgende opdracht in als een gebruiker met root -rechten:

    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
    

Codebestanden en mappen schrijfbaar maken

Bestanden en mappen schrijfbaar maken, zodat u onderdelen kunt bijwerken en de Commerce-software kunt upgraden:

  1. Meld u aan bij uw Commerce-server.

  2. Ga naar de installatiemap van Commerce.

  3. Voer de volgende opdracht in:

    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