Truecrypt 和 apache,如何管理文件权限?

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 和我自己拥有对该文件的完全访问权限?

答案1

您可以将chown文件/文件夹移至fmaz:www-data

然后,您需要使用chmod g+r(文件)和chmod g+rx(文件夹)向组添加读取权限。

如果您的 PHP 代码需要修改某些目录/文件,则需要使用chmod g+wr

这只是其中一种方法。

答案2

通过添加所需的 umask 解决了这个问题。我使用带 gui 的 truecrypt 7.1,所以我去了

设置->首选项->挂载选项

uid=www-数据,gid=用户,umask=007

它使用 drwx-rwx 挂载卷----

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

相关内容