我在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-data
我可以访问我的文件,但是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和我自己的文件?
发布于 2011-12-03 18:32:45
您可以将文件/文件夹chown为fmaz:www-data。
然后,您需要使用chmod g+r (文件)和chmod g+rx (文件夹)向组添加读取权限。
如果您的PHP代码需要修改某些目录/文件器,则需要使用chmod g+wr。
这只是一种方法。
发布于 2014-10-02 14:18:37
解决了这个问题,增加了所需的umask。我用TrueCrypt7.1和gui,所以我去了
设置->首选项->挂载选项
uid=www-data,gid=user,umask=007
它用drwx-rwx
这正是我在truecrypt中运行apache所需要的
https://serverfault.com/questions/337358
复制相似问题