更改debian的默认文件权限

时间:2011-12-17 19:43:16

标签: permissions debian chmod

我已经设置了Debian云服务器。我安装了apache,php和vsftpd。我创建了用户并设置了权限等。

当我上传文件时,其默认权限为600,除非我手动将其更改为774或775,否则无法查看该文件。

因此,我想将我上传的所有文件默认权限更改为/ var / www /至 754

我知道chmod -R 754 /var/www将该目录中的所有文件都设置为774,但它不会更改所有上传的新文件的默认权限。

我的用户是'joe'用于演示目的,因为我正在学习,所以我甚至尝试chown -R joe /var/www,但这也没有改变默认权限。

如何将默认权限从600更改为774?我应该在哪个文件中写什么?

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

您必须更改写入目录的用户的umask。 BTW不会在不需要时设置执行权限。

umask是应该应用的权限的否定掩码。默认情况下,将使用666创建所有文件,使用777创建所有目录。使用002的umask,这似乎是您想要的,这些将变为664和775.

现在,如何设置umask取决于实际写入文件的程序,以及该设置是否在其配置文件中可用。

另一种鲜为人知的方法是将POSIX ACL设置为上传目录:为此,您可以在setfacl上使用-d /var/www选项(提供您的操作系统,和文件系统,支持它。)

答案 2 :(得分:1)

您的一条评论建议您通过proftpd上传文件。如果是这种情况,那么您的问题确实是针对该软件的。答案是不要修改/ etc / profile,因为这将改变使用Bourne Shell或类似的所有用户(即Bash)的默认umask。此外,用户必须实际登录shell才能读取/ etc / profile,并且在正确配置的系统上,您的守护程序正在运行的用户实际上并未登录。请检查http://www.proftpd.org/docs/howto/Umask.html以获取特定于proftpd的信息和umasks。