我在 Linux 上经常遇到这个问题,我很想知道解决这个问题的正确方法。
假设我有一个守护进程正在运行。在我的示例中,我将使用 LigHTTPD,一个 Web 服务器。
一些软件,比如 Wordpress,喜欢通过 Web 界面对文件进行读/写访问以更新应用程序,我认为这非常方便。
同时,我喜欢用 vim 和我的本地用户帐户“eddie”来破解我的文件。
问题就在这里。我要么把所有内容都 chown 给 lighttpd 或 eddie 以及它们之间的共享组,然后 chmod 660,要么一直使用 sudo 来编辑这些该死的东西。前者不是一个坏的解决方案,直到我创建一个新文件,在这种情况下我必须记住正确地 chmod 它,或者创建一些像 cron 作业这样的 hack 来为我 chmod。
有没有更简单的方法可以做到这一点?我忽略了什么吗?
干杯,
-e-
答案1
实际上,有一种方法可以自动更改在某个目录中创建的文件的权限。假设您希望 lighttpd 能够访问的文件位于 /var/www 中。然后,您将 /var/www 的组设置为您的组,并在 /var/www 上设置 SGID 位。您可能希望对子目录递归执行此操作。我假设该组是 www-data。
chgrp -R www-data /var/www
chmod -R g+s /var/www
但这只会设置组。要默认为新创建的文件授予 660 个权限,您可以将 umask 设置为 007。将此行添加到 ~/.bashrc:
umask 007