Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Чтение переменной из локального файла [RSS Feed]

#1 Янв. 12, 2019 17:05:32

zloy_ej
Зарегистрирован: 2019-01-04
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Чтение переменной из локального файла

Доброго времени суток. Ситуация следующая. Есть файл /tmp/temperature/temperature.txt. Приложение (main) проекта webfather Django2 размещается в следующей папке: /home/ftpuser/www/wwwenv/project/webfather/main/ При запуске приложения на встроенном сервере через manage.py runserver приложение видит file.txt и считывает с него данные. При переносе на apache2 выдает ошибку: No such file or directory: ‘/tmp/temperature/temperature.txt’. Данные обязательно должны лежать в директории /tmp в силу технических особенностей. Понимаю что не правильно указан путь к файлу, перепробовал наверное все, включая ссылки на файл. В сети ничего подходящего не нашел. Просьба указать нужное направление, этот затык сводит меня с ума
Вот код из views.py приложения main

from django.shortcuts import render
import datetime
import os
from django.core.files import File

def my_list(request):

f = open('/tmp/temperature/temperature.txt', 'r')
my_temper_garaj = f.read()
f.close()
Вот кусок из settings.py
STATIC_URL = '/static/'

STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
'/home/ftpuser/www/webfather/main/static/main/',
'/tmp/temperature/',

]

Отредактировано zloy_ej (Янв. 12, 2019 17:10:17)

Офлайн

#2 Янв. 15, 2019 10:53:09

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2679
Репутация: +  182  -
Профиль   Отправить e-mail  

Чтение переменной из локального файла

У директорий есть права на исполнение для пользователя www-data?



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#3 Янв. 15, 2019 13:07:47

zloy_ej
Зарегистрирован: 2019-01-04
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Чтение переменной из локального файла

Вот вывод команды ls -l /home/ftpuser/
drwxr-xr-x 2 ftpuser ftpgroup 4096 Jan 2 21:28 ftp_data
drwxr-xr-x 2 ftpuser ftpgroup 4096 Jan 2 21:28 ftp_log
drwxr-xr-x 2 root root 4096 Jan 12 18:17 script
drwxr-xr-x 3 ftpuser ftpgroup 4096 Jan 11 21:03 www
вот вывод groups www-data
www-data : www-data ftpgroup
т.е пользователь www-data состоит в группе ftpuser. Права даны рекурсивно, т.е. распространяются на все файлы и каталоги: ls -l /home/ftpuser/www/wwwenv/project/webfather/
drwxr-xr-x 3 ftpuser ftpgroup 4096 Jan 3 16:56 control
-rwxrwxr-x 1 ftpuser ftpgroup 131072 Jan 15 19:53 db.sqlite3
drwxr-xr-x 10 ftpuser ftpgroup 4096 Jan 3 16:56 fontawesome-free-5.6.3-web
drwxr-xr-x 2 ftpuser ftpgroup 4096 Jan 3 16:56 logs
drwxr-xr-x 7 ftpuser ftpgroup 4096 Jan 9 00:38 main
-rwxr-xr-x 1 ftpuser ftpgroup 556 Jan 15 19:53 manage.py
drwx—— 2 ftpuser ftpgroup 4096 Jan 9 01:07 media
drwxr-xr-x 3 ftpuser ftpgroup 4096 Jan 3 16:56 mydate
drwxr-xr-x 6 ftpuser ftpgroup 4096 Jan 9 01:07 static
drwxr-xr-x 3 ftpuser ftpgroup 4096 Jan 3 16:56 telegram
drwxr-xr-x 3 ftpuser ftpgroup 4096 Jan 3 16:56 temperature
drwxr-xr-x 2 ftpuser ftpgroup 4096 Jan 3 16:56 templates
drwxr-xr-x 3 ftpuser ftpgroup 4096 Jan 3 16:56 video
drwxr-xr-x 3 ftpuser ftpgroup 4096 Jan 12 18:18 webfather
Временно дал права на файл /tmp/temperature/temperature.txt
chmod 777 /tmp/temperature/temperature.txt
ls -l
-rwxrwxrwx 1 root root 3 Jan 15 19:16 temperature.txt
ситуация не поменялась.
Я конечно не специалист, только начинаю осваивать Python3 и Django2 поэтому могу ошибаться: когда мы открываем файл в django:
f = open('/tmp/temperature/temperature.txt', ‘r’)
my_temper_garaj = f.read()
нам ведь нужны права только для чтения для всех остальных, поэтому если пользователь www-data будет скомпроментирован он не сможет обратится к разделу /tmp/ в которой вроде как хозяин root. Не так?

Офлайн

  • Начало
  • » Django
  • » Чтение переменной из локального файла[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version