Truecrypt & apache, как управлять разрешением файла?
Я на Ubuntu. Я использую контейнер truecrypt для хранения всех моих рабочих файлов. Мой сервер apache запускается с пользователем www-data
(настройка по умолчанию).
Когда я монтирую контейнер с помощью truecrypt, все мои файлы принадлежат fmaz:fmaz. Поэтому, когда мой PHP-код пытается выполнить chmod(), он терпит неудачу - разрешение отклонено.
Итак, я попытался смонтировать том truecrypt следующим образом:
truecrypt --auto-mount=devices --fs-options="uid=33,gid=1000"
так же как:
truecrypt --auto-mount=devices --fs-options="uid=1000,gid=33"
При выполнении ls -la
в папке видно, что право собственности действительно (www-data: fmaz или fmaz: www-data), но группа, похоже, не принимается во внимание.
fmaz: WWW-данные
Я могу получить доступ к своему файлу, но apache / php не может с ними работать.
WWW-данные: fmaz
Apache и PHP счастливы, все работает нормально, но я не могу получить доступ к своим собственным файлам:
fmaz@fmaz-laptop:/$ cd media/truecrypt1/
bash: cd: media/truecrypt1/: Permission non accordée
Но, как вы можете видеть:
sudo ls -la media/truecrypt1/
total 31448
drwx------ 14 www-data fmaz 8192 1969-12-31 19:00 .
drwxr-xr-x 5 root root 4096 2011-12-03 11:10 ..
-rwx------ 1 www-data fmaz 3353256 2009-11-18 21:19 7nuj21us.exe
...
Как я могу настроить программу, чтобы иметь полный доступ к файлу для Apache, а также для меня?
2 ответа
Вы можете chown
файлы / папки для fmaz:www-data
,
Затем вам нужно добавить разрешение на чтение для группы, используя chmod g+r
(файлы) и chmod g+rx
(папки).
Если ваш PHP-код требует изменения некоторого каталога /filer, вам нужно использовать chmod g+wr
,
Это всего лишь один из способов сделать это.
Решил эту проблему, добавив нужный umask. Я использую TrueCrypt 7.1 с графическим интерфейсом, поэтому я пошел
настройки-> настройки-> параметры монтирования
UID = WWW-данные, GID = пользователь, Umask=007
монтирует громкость с помощью drwx-rwx----
только то, что мне нужно для моего Apache, работающего внутри TrueCrypt