Înainte de a ajunge la răspuns, ar trebui să depuneți toate eforturile pentru a rupe obiceiurile proaste de securitate de a folosi chmod 777 sau de a dezactiva SELinux. Mai degrabă, ar trebui să învățați pe deplin modelul de permisiuni UNIX, astfel încât să cunoașteți întotdeauna permisiunile potrivite și ar trebui să vă configurați serviciile pentru a funcționa cu SELinux pentru a beneficia de straturile suplimentare de securitate pe care le oferă.
Deci, motivul pentru care socket-ul tău îngropat adânc în directorul principal al unui utilizator nu funcționează este că a mamă permisiunile directorului interzic accesul necesar (în acest caz, căutare X
). Utilizare namei -l /home/***/.deploy/my.sock
pentru a vedea permisiunile tuturor directoarelor părinte simultan și pentru a le corecta pe cele care nu permit permisiunea de căutare (cel mai probabil este /Acasă/***
).
chmod +x /as/necesar
De asemenea, nu uitați să remediați permisiunile și dreptul de proprietate asupra soclului în sine, după cum este necesar.
Pentru a fi complet, motivul pentru care ați introdus priza /tmp
nu a fost găsit este că nginx care rulează ca serviciu de sistem nu poate accesa sistemul /tmp
director. Systemd începe cu PrivateTmp=adevărat
ceea ce face ca un director privat unic să fie creat și al lui nginx /tmp
namespaced la acel director. Asta sunt toate acestea /tmp/xxx-systemd-private-foo
directoarele sunt pentru.