在Ubuntu / Linux上正确授予所有权/权利

时间:2013-07-15 15:53:05

标签: php linux ubuntu zend-server

我目前在Zend Server上提供权利/所有权方面面临很多问题。我总是做一个

  

chown user -R path / to / file

  

给777给fodlers和文件然后结束了很多777 ...用   一些不需要777,如果有一个用户zend服务器,我希望我   可以把它归于一切....所以我没有777   这么多东西

到目前为止授予权利/所有权正在修复和创建zend服务器的问题......这就是我在这里的原因:(

我也有问题调试,当发生错误时我不知道如何检查导致它的原因。我确实阅读过论坛的人们做了一个-debug恐惧他们的命令。有时我也不确定要授予哪个文件。我意识到我的zend服务器是用户本身,我相信......

任何建议或指南都将不胜感激。

我将这些作为用户

zend:x:106:112::/usr/local/zend/gui/lighttpd/:/bin/false
root:x:0:0:root:/root:/bin/bash

和其他许多人。我认为守护进程和zend与zend服务器有关。

2 个答案:

答案 0 :(得分:2)

你永远不应该创建一个不是可执行shell脚本的文件可执行文件(第0位设置)(像PHP这样的CGI脚本不需要执行权限),从安全角度来看,将其设置为777只是简单的懒惰和危险。

我经常运行以下命令来更正网络文件夹的权限:

chown username:groupname * -R
find -type d -exec chmod 755 {} \;
find -type f -exec chmod 644 {} \;

这将提供所有目录:

  • 所有者,小组和其他任何人的阅读许可
  • 仅限所有者写入权限
  • 执行权限,允许输入并列出其内容。

它将提供所有文件:

  • 所有者,团体和其他任何人的阅读许可。
  • 仅由所有者写入权限。
  • 根本没有执行权限。

如果您可以将Apache / HTTP服务器用户添加到用户的组(usermod -G apache -a username),您可以进一步将其加强到750和640,这将阻止其他用户能够读取Web文件(这可以通过网络服务器绕过,具体取决于服务器配置。)

答案 1 :(得分:1)

在授予Web服务器权限时只需注意。

权限很简单。您只需要记住* nix中有读写和执行权限。您不需要任何脚本文件中的执行权限,但所有文件夹都必须具有执行权限。这使您具有读写权限。您将需要所有文件和文件夹的读取权限。您只需要对Web服务器需要更改的文件夹和文件具有写入权限。基本上,您需要读取临时文件夹的写入和执行权限,如果您使用文件上载,则需要存储文件的文件夹。您可能只需要对Web服务器需要更改的文件具有写入权限(对于可能不存在的简单站点)。