Apache-2.2

Truecrypt & apache,如何管理文件權限?

  • October 2, 2014

我在 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"

在文件夾上執行 als -la時,我可以看到所有權是有效的( www-data:fmaz 或 fmaz:www-data )但該組似乎沒有被考慮在內。

fmaz:www-data

我可以訪問我的文件,但 apache/php 無法使用它們。

www-data: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 以及我自己的文件?

您可以chown將文件/文件夾保存到fmaz:www-data.

然後,您需要將讀取權限添加到使用chmod g+r(文件)和chmod g+rx(文件夾)的組中。

如果您的 PHP 程式碼需要修改某些目錄/文件管理器,則需要使用chmod g+wr.

這只是一種方法。

添加所需的 umask 解決了這個問題。我使用帶有gui的truecrypt 7.1,所以我去了

設置->首選項->掛載選項

uid=www-data,gid=user,umask=007

它使用 drwx-rwx 掛載卷—-

正是我在 truecrypt 中執行的 apache 所需要的

引用自:https://serverfault.com/questions/337358