2015-07-06 3 views
1

Когда я запускаю мою программу и попытаться создать файл, я получаю следующее сообщение об ошибке:супервизора/Unix Отказано писать в каталоге

IOError: [Errno 13] Permission denied: '/home/giri26/couponmonk_project/user_15_qr.png' 

запуске программы с помощью supervisor и это config файл :

[program:gunicorn-couponmonk] 
directory = /home/giri26/couponmonk_project 
command = /home/giri26/venv/py2.7/bin/python /home/giri26/venv/py2.7/bin/gunicorn --worker-class socketio.sgunicorn.GeventSocketIOWorker __init__:app 
stdout_logfile = /var/log/gunicorn/couponmonk-std.log 
stderr_logfile = /var/log/gunicorn/couponmonk-err.log 
user = newuser 

Я думал, что это error имел в виду permissions для newuser поэтому я добавил newuser к groupgiri26.

Запуск groups newuser результаты:

newuser : giri26 

Представлены результаты ls -ld couponmonk_project/ является:

drwxrwxr-x 3 giri26 giri26 4096 Jun 27 22:34 couponmonk_project/ 

Я понял, что, как newuser является частью группы giri26 и group имеет rwx разрешения, то я бы быть в состоянии write и create файлов в папке couponmonk_project.

Я правильно смотрю?

Благодарим за помощь.

ПРИМЕЧАНИЕ

Папка выше, имеет следующие permissions:

drwxr-xr-x 10 giri26 giri26 4096 Jun 27 22:52 ../ 

ли это нужно изменить, возможно?

UPDATE

Как предлагается ниже, я побежал strace с curl но output не содержат каких-либо экземпляров EACESS. Есть 400 строк в файле output, поэтому он не может публиковать все здесь. Есть ли что-нибудь еще, что я мог бы посмотреть? Банкомат, я не могу сказать, что актуально.

Эти строки появляется много:

762 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) 
762 open("/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY) = 3 
762 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\r\0\0\0\0\0\0"..., 832) = 832 
762 fstat(3, {st_mode=S_IFREG|0644, st_size=14768, ...}) = 0 
762 mmap(NULL, 2109696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fa0d731f000 
762 mprotect(0x7fa0d00, 2097152, PROT_NONE) = 0 
762 mmap(0x7fa0d7521000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fa0d7521000 
762 close(3) 

Кроме того, это появляется в конце выхода:

recvfrom(3, "HTTP/1.1 500 INTERNAL SERVER ERR"..., 16384, 0, NULL, NULL) = 10510 
+0

Вы перезапустили диспетчер после внесения изменений в группу? Они не будут применяться раньше. –

+0

@KlausD. Да, я пробовал это, но все еще имею ту же проблему. –

+0

Есть ли файл уже существует? Если да, то каковы его разрешения? –

ответ

0

После внесения изменений в разрешение файла необходимо попытаться перезагрузить реальный компьютер.

Если вы используете это на удаленном сервере, выполните команду через панель управления веб-хоста, чтобы перезагрузить реальный компьютер.

Это, надеюсь, решит проблему.

0

Строка в файле конфигурации gunicorn

user = newuser 

ли появится быть центральной проблемой. Как это показано в

$ id 
uid=1001(msw) gid=1001(msw) groups=1001(msw),4(adm),8(mail) … 

Пользователь имеет один uid и один gid. Все остальные перечисленные группы - это группы, к которым вы принадлежите, но не ваш gid.Для того, чтобы изменить GID вы должны явно попросить, чтобы он был включен как в:

$ newgrp mail 
$ id 
uid=1001(msw) gid=8(mail) groups=1001(msw),4(adm),8(mail) … 

меняет свой GID к одной из моих групп. К сожалению, новый_пользователь вероятно теперь выглядит следующим образом:

$ id 
uid=22(newuser) gid=22(newuser) groups=22(newuser), 455(giri26) … 

и так новый_пользователь никогда не может войти в оболочку и даже есть пароль, нет хорошего места для запуска newgrp.

Чтобы исправить это, вы должны сделать giri26 ГУР из NEWUSER путем модификации /etc/passwd

newuser:x:22:22: … 

становится:

newuser:x:22:455: … 

Это может влиять на другие файлы и каталоги NEWUSER, будь настороже.

+0

Спасибо @msw. Я выполнил команды в вашем ответе и получил следующее для 'newuser':' uid = 1001 (newuser) gid = 1000 (giri26) groups = 1000 (giri26) '. –

 Смежные вопросы

  • Нет связанных вопросов^_^