PhantomJS将文件的权限设置为644,如何在不进行反模式的情况下更改它们?

时间:2014-12-12 10:11:41

标签: api permissions phantomjs

我已经实现了一个安静的API,我收到一个网站并返回截图的路径 我正在使用PhantomJS v 2.0.0开发来制作屏幕截图。我正在制作一个控制台命令,该命令是使用类似安全的system()函数执行的。我使用SU作为用户'phantomjs'进行登录,仅限于使用指定的命令,然后调用我的phantomjs脚本将网页呈现为jpegs。输出的文件由'phantomjs'拥有,权限设置为644.我们已将用户'phantomjs'添加到组www-data。

我们在目录中放置了大量的网页截图,并在子目录中按字母顺序分隔它们。太好了。我们的工作场景要求我们偶尔删除网页截图。 所以我实现了一个restful delete-api,客户可以使用它删除他们的webshots。真正的问题来自于文件由'phantomjs'拥有并且权限设置为644的事实,我们无法通过www-data删除文件。由于'phantomjs'与www-data属于同一组,因此我们需要将权限设置为664才能取消链接()。

我们不希望允许用户'phantomjs'使用chmod或rm,因为这会违反我们的设计理念以最大限度地限制用户,因为该用户运行shell命令。 我们不喜欢运行改变文件权限的cronjob的解决方案,因为服务器非常繁忙,这个解决方案非常不受欢迎,应该是我们的最后手段/ 我们尝试使用ACL使webshots / dir中的每个文件都具有664的默认权限,但是这对我们的NFS没有按预期工作。现在升级NFS对我来说不是一个选择。 我们尝试过umask 002,但这只适用于通过shell创建的文件,所以它也无法帮助我们。

我注意到如果我通过sublime-text保存一个空文件,文件权限是664。 如果我用phantomjs保存屏幕截图,f.p。是644。 我的问题是: - 什么控制默认文件权限,运行进程本身或运行应用程序的一些用户首选项? - 你可以给我更多的想法如何安全地删除webshots或让'phantomjs'拥有的文件有烫发664而不给用户太多'危险'的权限。

任何帮助都将受到高度赞赏。 谢谢。

0 个答案:

没有答案