chown -Rf nginx:nginx /var/www/sait.com/
Това е така, защото нямаш права да пишеш в папката... вероятно не са ти зададени коректно потребителя и потребителската група на папката за upload.
Ако предположим, че сайта ти се намира в /var/www/sait.com/
Трябва да зададеш права на папката, подпапките и файловете в нея... предполагам потребителското име и група са nginx, така, че можеш да пробваш с следната команда през шел-а.
Код:chown -Rf nginx:nginx /var/www/sait.com/
listen = 192.168.1.201:8002
listen.allowed_clients = 192.168.1.200
listen.backlog = -1
listen.owner = testuser
listen.group = testuser
listen.mode = 0660
Файловете трябва да са chown на юзера, с който вървят пхп процесите, не nginx. Не знам къде си го прочел това, но е ужасна практика, която е останала от Apache явно.
nginx е правилно да се пусне с отделен юзер (самият уеб сървър), nginx е ок, но и него бих сменил, а до самите файлове трябва да има достъп nginx (read му стигат) само юзера от пхп пуула (rw), т.е. името на юзера, което е в pool-a за php-fpm. Като е хубаво да се задават и правата на 0660. В противен случай рискувате много лесно някой бот или дете да ви изплющят дето се вика и през един сайт да си отидат всичките на сървъра![]()
Ето пример за фпм pool:
И никога, нищо не трябва да се пуска с root права. При никакви обстоятелства. Особено когато става въпрос за пхп и уеб сървъри.
Съгласен съм с теб, но момчето пита как да си реши проблема, а не какви са добрите практики... понеже нали се сещаш, че ако знаеше защо му прави този проблем, щеше да е наясно и как да го оправи.
Съответно съм му написал най-лесният възможен вариант за евентуално решение на проблема. Ако бях му написал това, което ти си написал ти давам гаранция, че едва ли щеше да разбере за какво иде реч ( съмнявам се да е разбрал и това, което съм написал аз ).
А съгласи се, че ако първоначално се спазваха добрите практики, едва ли щеше да има този проблем?
Ами не, не съм съгласен тук. Това решение води до други проблеми и те не са свързани само със сигурността. После ще дойде пак и ще пита какво става. Също така някой друг ще го прочете и ще го използва.
Файловете се притежават от юзера, с който вървят пхп процесите за pool-a. Не виждам нищо сложно.
Ако не знае, ще пита.
Аз не споря. Просто отбелязвам и обяснявам за другите защо не трябва да се прави. Не става въпрос само за добра практика. Добра практика можеш да наречеш използването на unix socket вместо tcp socket, когато не ти трябва tcp или изключването на cgi.fix_pathinfo. Но нещата като права на файлове е нещо, което всеки трябва да знае. Утре някой ще прочете тази тема. Почти всеки ден се занимавам с хора, които четат произволни статии в Интернет с някакъв work around и си навличат проблеми. Дори на мен ми се е случвало. Автора на темата вече си знае вече как да постъпи.