2017-03-20 84 views
1

我使用laravel动态创建文件,我需要通过使用chmod给它们特定的权限并使用chown更改用户和组。允许PHP执行linux命令

我试图通过使用visudo将以下行输入到我的/etc/sudoers

:请始终使用visudo否则你可能corrupt the file


www-data ALL=(ALL) NOPASSWD: chmod 
www-data ALL=(ALL) NOPASSWD: chown 

,但我得到这些线路上的语法错误。

+0

给人一种Web服务器的用户权限更改文件的所有权和标志为根可能非常非常危险的。例如,攻击者理论上可以让您的私钥可以被世界读取,或者取代您的SSL证书。我希望你对此采取一切可能的照顾! – GordonM

+0

谢谢。但我不知道黑客怎么可能做到这一点。他需要完全访问我的网络服务器。 – Black

+1

他们总是可以利用其他一些漏洞。例如,如果您有用于处理文件上传的脚本,则他们可能会找到一种方法来共同选择上传恶意PHP文件。我知道如果他们能够做到这一点,他们已经可能会造成一些伤害,但是没有必要让他们更容易。 – GordonM

回答

2

你总是要使用的完整路径二进制:

www-data ALL=(ALL) NOPASSWD: /bin/chmod 
www-data ALL=(ALL) NOPASSWD: /bin/chown 
+0

请接受你自己的答案。 – n00dl3

+0

只能在2天内接受。我通过问答方式回答myselve分享知识 – Black

+0

好吧,我没有说什么.... – n00dl3