Как сделать так, чтобы apache в debian получал доступ к ресурсу файловой системы vfat окна?

Ошибка в вашем bash— это неизвестная команда name. Я не знаю, каково ваше намерение с этой командой, поэтому я не могу комментировать ее дальше.


Чтобы запустить скрипт Python с /home/projectв качестве рабочего каталога, непосредственно в командной строке:

( cd /home/project && python3 pyscript.py )

Команда заключена в круглые скобки, чтобы cdне влияла на рабочий каталог сеанса интерактивной оболочки.

Как псевдоним:

alias mypyscript='( cd /home/project && python3 pyscript.py )'

В качестве функции оболочки:

mypyscript () (
    cd /home/project && python3 pyscript.py
)

Как сценарий оболочки:

#!/bin/sh
cd /home/project && python3 pyscript.py

Во всех вышеперечисленных случаях python3 pyscript.pyне будет вызываться в случае сбоя cd.

0
15.08.2020, 17:04
1 ответ

Вот ответ на актуальную проблему, которая уже была у вас в предыдущем вопросе и которая была рассмотрена и объяснена. Вы заблуждаетесь, думая, что проблема в одном или двух каталогах за пределами каталога, вызвавшего ошибку. Проблема прямо в /media/debian/.

Держитесь подальше от /media/someuserкаталогов, таких как /media/debian. Система обрабатывает их особым образом, при этом каталоги динамически создаются для каждого пользователя, когда это необходимо. Эти каталоги являются частными для пользователя, «удерживающего место», и по умолчанию не позволяют процессу apache получить к ним доступ. Возможно даже, что перезагрузка или простой выход из системы/вход в систему могут сбросить их права доступа, не позволяя apache httpd снова получить к ним доступ, даже если это было возможно раньше.

Просто создайте каталог точки монтирования в другом месте. Это может быть внутри нового каталога с именем /srv/или/data/(или, может быть, даже в /var/www/, но я бы не советовал ).

Так, например, как root:

mkdir -p /srv/media/SHARED

Затем измените все настройки Apache и /etc/fstabтак, чтобы они указывали на /srv/media/SHAREDвместо /media/debian/SHARED.

Поскольку не будет конфликтов с инструментами, динамически обрабатывающими права пользователей, как в случае /media/debian, данные пользователя apache httpd www -не будут иметь проблем с доступом к /srv/media/SHARED.

Если это было предыдущей целью, графический интерфейс пользователя debianможет не отображать непосредственно этот каталог, поскольку он не находится в зарезервированном каталоге для этого пользователя. Просто добавьте символическую ссылку или любой другой метод рабочего стола, чтобы указать на /srv/mediaили /srv/media/SHARED.


Возможны проблемы из-за того, что VFAT является очень ограниченной файловой системой :Operation not permittedявляется нормальной и ожидаемой ошибкой VFAT для chown и chmod и не может быть исправлено иначе, как без использования VFAT. httpd (возможно, в зависимости от некоторых опций )может иметь специальную интерпретацию для файлов с правами на выполнение. Если такой случай возникнет, это будет отдельная проблема, которую можно просто решить, придерживаясь файловых систем POSIX или, по крайней мере, ntfs, используемых с ntfs -3g с настройками(.NTFS-3G/UserMapping)для обработки прав доступа. Избегайте VFAT или ExFAT.

2
18.03.2021, 23:12

Теги

Похожие вопросы