È necessario correggere le autorizzazioni con il comando chmod
, ad esempio chmod 775 /home/shwetanka/logs/mysite/mysite.log
.
Dai un'occhiata al proprietario del file con ls -l /home/shwetanka/logs/mysite/mysite.log
e rendilo scrivibile a uwsgi
. Se il file non è di proprietà di uwsgi
, sarà necessario utilizzare il comando chown
.
Dai uno sguardo al nome utente sotto il quale il tuo servizio è in esecuzione con ps aux | grep 'uwsgi'
.
Se la sicurezza non è così importante per voi al momento, utilizzare chmod 777 /home/shwetanka/logs/mysite/mysite.log
e il gioco è fatto. Ma non è così che viene fatto.
Il modo più sicuro per farlo consiste nel controllare il proprietario e il gruppo del file, quindi modificarli se necessario e regolare le autorizzazioni di conseguenza.
Facciamo un esempio.
Se ho un file in /home/shwetanka/logs/mysite/mysite.log
e il comando ls -l /home/shwetanka/logs/mysite/mysite.log
ha pronunciato la seguente uscita:
-rw-rw-r-- 1 shwetanka shwetanka 1089 Aug 26 18:15 /home/shwetanka/logs/mysite/mysite.log
significa che il proprietario del file è shwetanka
e il gruppo è anche shwetanka
. Ora leggiamo i bit rwx
. Il primo gruppo è correlato al proprietario del file, quindi rw-
significa che il file è leggibile e scrivibile dal proprietario, leggibile e scrivibile dal gruppo e leggibile dagli altri. Devi assicurarti che il proprietario del file sia il servizio che sta cercando di scrivere qualcosa su di esso o che il file appartiene al gruppo del servizio o riceverai un errore permission denied
.
Ora, se ho un nome utente uwsgi
che viene utilizzato dal servizio USWGI e desidera che il file di cui sopra per essere scrivibile da tale servizio, devo cambiare il proprietario del file, in questo modo:
chown uwsgi /home/shwetanka/logs/mysite/mysite.log
. Poiché il bit di scrittura per il proprietario (il primo gruppo rwx
) è già impostato su 1
, quel file sarà ora scrivibile dal servizio UWSGI. Per ulteriori domande, si prega di lasciare un commento.
Grazie.In realtà i processi uwsgi erano in esecuzione con l'utente 'www-data'. Ho cambiato l'utente con chown e ha funzionato. comunque ho spostato la posizione del file di log su var e ho dato chmod 775 e chown www-data: www-data e funziona. Grazie ancora. – Shwetanka
Prego. Ho dato il massimo e sono contento che abbia funzionato. ;-) – Luka