Ответ 1
Вам нужно исправить разрешения с помощью команды chmod
, например: chmod 775 /home/shwetanka/logs/mysite/mysite.log
.
Взгляните на владельца файла с помощью ls -l /home/shwetanka/logs/mysite/mysite.log
и сделайте его доступным для записи в uwsgi
. Если файл не принадлежит uwsgi
, вам нужно будет использовать команду chown
.
Взгляните на имя пользователя, под которым ваша служба работает с ps aux | grep 'uwsgi'
.
Если безопасность в данный момент не так важна, используйте chmod 777 /home/shwetanka/logs/mysite/mysite.log
и это. Но это не так, как это делается.
Самый безопасный способ сделать это - проверить владельца и группу файла, а затем, при необходимости, изменить их и соответствующим образом скорректировать соответствующие разрешения.
Приведем пример.
Если у меня есть файл в /home/shwetanka/logs/mysite/mysite.log
, а команда ls -l /home/shwetanka/logs/mysite/mysite.log
дает следующий вывод:
-rw-rw-r-- 1 shwetanka shwetanka 1089 Aug 26 18:15 /home/shwetanka/logs/mysite/mysite.log
это означает, что владельцем файла является shwetanka
, а также группа shwetanka
. Теперь прочитайте бит rwx
. Первая группа связана с владельцем файла, поэтому rw-
означает, что файл доступен для чтения и записи владельцем, доступен для чтения и записи группой и доступен для чтения другими. Вы должны убедиться, что владелец файла - это служба, которая пытается что-то написать ему или что файл принадлежит группе службы, или вы получите ошибку permission denied
.
Теперь, если у меня есть имя пользователя uwsgi
, которое используется службой USWGI, и хотите, чтобы вышеуказанный файл был доступен для записи этой службой, я должен изменить владельца файла, например:
chown uwsgi /home/shwetanka/logs/mysite/mysite.log
. Поскольку бит записи для владельца (первая rwx
группа) уже установлен в 1
, этот файл теперь будет доступен для записи службой UWSGI. По всем другим вопросам, пожалуйста, оставьте комментарий.