Door karma4: Ik gooi helemaal niets door elkaar, het wordt hier gepost als alles onder root / eigenaar root draaiend.
Nee, niet
alles maar de
cron job die sessies opruimt draait onder root. Dat is een wezenlijk onderscheid. De cron job verwijdert sessies door simpelweg te kijken of bestanden een bepaalde tijd niet benaderd zijn en doet verder inhoudelijk helemaal niets met die sessies.
De PHP-sessies draaien zelf niet als root. De eigenaar van een directory doet er wel degelijk toe haal die others rechten maar eens standaard weg. Je zult verbaasd zijn (of niet) hoeveel er dan overal van alles omvalt.
Nee, dan zou ik totaal niet verbaasd zijn. Nogal wiedes dat de rechten die je instelt een doel en een effect hebben, als dat niet zo was zouden rechten geen functie hebben.
Wat zou de reden zijn om wel write rechten te geven maar geen read, .... security by obscurity,
Session-id's zijn random en de filenamen op een prefix na ook. De term
security through obscurity slaat niet op alles wat je verborgen houdt (dan zouden privésleutels en wachtwoorden ook onder die noemer vallen) maar op de naïeve gedachte dat je veilig bent als je iets verborgen houdt dat wèl te raden is. Een goede session-id is een forse random waarde die in de praktijk niet te raden is. De sticky bit geeft nog eens extra veiligheid: zelfs als een aanvaller wel een sessie-id te pakken krijgt wordt een mogelijkheid om te manipuleren geblokkeerd.
Natuurlijk zijn er ook andere benaderingen mogelijk. Dat wil niet zeggen dat een andere benadering de enige is die werkt.
Je kunt rustig files van andere weggooien in een directory ook hebben die rechten op de betreffende inhoud dat je geheel niets mee zou kunnen.
Weet je nou opeens weer niet waar die sticky bit voor dient? Die dient om precies dat te blokkeren.
https://en.wikipedia.org/wiki/Sticky_bit Let even op wat hier staat:
"When a directory's sticky bit is set, the filesystem treats the files in such directories in a special way so only the file's owner, the directory's owner, or root user can rename or delete the file."
De owner van een directory kan files weggooien die niet van hem zijn.
Ik had de man page van chmod al gelezen, dank je. De owner van de directory waar we het nu over hebben is root. Als je een systeem hebt waarop je root niet kan vertrouwen houdt alles op. En nogmaals, niet
alles draait als root, zoals je zo hardnekkig lijkt te geloven.