Apache-2.2
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"
在文件夾上執行 a
ls -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 所需要的