chmod

echten kunnen we in PHP wijzigen met chmod(). Chmod() vindt net als vele andere PHP functies zijn oorsprong in het Linux besturingsysteem. Chmod maakt gebruik van een octaal systeem waarmee rechten worden gezet nl:

4 = read
2 = write
1 = execute
0 = nothing

deze worden in een reeks van 3 of 4 weergegeven bijvoorbeeld: 644 of 0644. Om een recht te berekenen moeten we snappen wat deze getalletjes inhouden. De volgorde van links naar rechts gaat als volgt: Het eerste getal betekent “owner” de eigenaar dus. Het tweede getaal betekent “group” dit geldt voor de groep waar de gebruiker lid van is. Het derde getal betekent “other users” dit zijn dus de overige gebruikers. Het eerste getal het zogenaamde sticky bit deze wordt in de Linux wereld eigenlijk niet meer gebruikt maar komt nog wel voor in de Unix wereld en op MACOSX.

Om als voorbeeld een foto album te nemen. Foto's worden geupload foto's zijn over het algemeen .jpg bestanden. Deze hoeven niet uitvoerbaar(1 execute) te zijn voor niemand. Dus geven we de owner (het eerste getal) een 6 (4 read + 2 write) = 6. De groep hoeft hier niets te doen maar mag wel lezen. Deze geven we dus een 4. Andere users mogen niets mer de files dus die geven we een 0. We komen dus neer op 640. Dit is een veilige manier van rechten toepassen nu kan alleen jij als gebruiker de files wijzigen. Maar nu wil je de foto's weergeven en komt er achter dat de foto's niet worden weergegeven. Dit is vrij logisch, pagina's worden geladen vanuit de apache user die heeft dus recht 0. Die mag niets met de file. Er zijn twee oplossingen voor dit probleem:

1.Laat je useraccount toevoegen aan de apache groep.
2.Geef de rechten 644 aan de file(s).

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Inleiding
  2. chmod
  3. Rechten
  4. Nawoord
  5. Links

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.