我在我的服务器上有权限问题。 我使用用户开发人员在服务器上拉我的git存储库。 然后,apache使用自己的apache用户来编写和执行代码。 如果我执行一个cron作业,它使用我的开发人员权限,并且希望将某些东西添加到写入的文件夹中,那么当应用程序想要在目录中写入某些内容时(例如:日志文件和caching…),我总是遇到问题由Apache。
我的问题是如何让我的开发人员有相同的写入/删除访问作为我的Apache和避免权限冲突对方? 我不熟悉linux命令,所以如果你可以提供链接或简单的例子,这将有所帮助。
谢谢。

我的想法是使目录的以下所有权:developer.app或apache.app
在Bash:
ROOT=/some/directory/app chown -R developer.app $ROOT
要么
chown -R apache.app $ROOT
在第一种情况下,它必须在“应用程序”组中有“apache”,第二种情况下在“应用程序”中有“开发人员”。 然后,您需要为所有文件/目录上的owner和group设置相同的权限。 如何做到这一点取决于你使用的基础设施。 第二个数字可以是/ etc / passwd,/ etc / group可以是组名。 如果您使用centrify或其他将Linux连接到集中帐户数据库的软件,则可能需要su到特定帐户并发出id 。
我的简单经验法rw-所有文件rw-和脚本放在hooks目录rwx ,但是您的代码可能需要更多的粒度。 其良好的做法,以避免777权限。
find $ROOT -type f -exec chmod 0660 {} \; find $ROOT -type d -exec chmod 0770 {} \; find $ROOT/.git/hooks -type f -exec chmod 0770 {} \;
你可能更喜欢使用ug+rw或者ug+rwx这只会增加缺less的权限。 可能更好,如果你已经对某些文件具有一些特定的eXec权限。
要自动使新文件和目录可读写,请将umask设置为0007。