Moi,
Mulla on ollut jo pitkään ongelmia kolmella eri palvelimella sessioiden oikeuksien kanssa. Heittää välillä tällaista virhettä:
Warning: session_start(): open(/var/lib/php/sessions/sess_t2g6cp80f68dd0skpva8l99trg, O_RDWR) failed: Permission denied (13) in ... Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in ...
Samaan aikaan jos ottaa tiedostolistauksen /var/lib/php/sessions kansiosta, se näyttää tältä.. Eli kaikilla muilla session-tiedostoilla on sama omistaja ja ryhmä, kuin millä php:kin ajetaan, mutta tällä kyseisellä on root omistaja ja ryhmä. Miksi osalle sessioista tulee root omistaja ja osalle www-data? Jotakin konffailen varmasti pieleen. Osaisko joku neuvoa, miten lähteä tätä ongelmaa ratkomaan?
Käyttöjärjestelmä: Ubuntu 18.04
HTTP-palvelin: Apache 2
PHP: 7.2.19
Itse lähtisin selvittelemään, miksi PHP:tä joskus ajetaan roottina ja korjaamaan tilanteen niin että PHP:tä ei koskaan ajeta roottina.
Jos siellä on joku ihan validi syy (esim. hallintapaneeli, jonka pitää pystyä luomaan uusia Linux-käyttäjiä), niin sitten täytyy varmistaa että hallintapaneelilla ja perus php-sivuilla on erilliset sessiot. Hallintapaneeliakaan en ajaisi suoraan roottina vaan jollain sopivasti nimetyllä käyttäjätunnuksella, jolla sitten on tarvittavat oikeudet.
Hyvä pointti. Mulla pyörii tuolla myös PHP:llä tehty websocket-serveri ja sitä näemmä ajankin roottina, pitääpä kokeilla muuttaa se www-datana ajettavaksi.
Aihe on jo aika vanha, joten et voi enää vastata siihen.