httpd.conf 上的用户/组的 Apache 问题 - 权限
Apache Issue with user/ group on httpd.conf - permissions
我有一个 运行 在 xampp 上的 codeigniter 项目。当我 运行 一个 php 命令 mkdir 我得到错误 "Permission denied"。原来 php 用户和计算机用户的名称不同。所以我在 httpd.conf 文件中更改了行
User daemon
Group daemon
至
User username
Group daemon
匹配我的用户名。现在我得到了这个问题的修复,但这会在代码的另一部分产生许可错误。这很奇怪,因为我 运行 在另一台具有相同设置的机器上使用相同的项目并且它可以工作。你能给我指出正确的方向吗?
User
指令指定 httpd 进程应该使用哪个 linux 用户来 运行 作为。这意味着 httpd 进程将执行所有操作,就好像该用户(在本例中为您)正在做的那样。如果您没有执行某些操作的权限,httpd 进程将无法执行此操作,您将看到一个错误。
要修复此问题,您需要修复 httpd 进程(和 php)所需的 files/folders/commands 权限。您可以:
- 授予对 file/folder 上的守护程序组的完全权限:
chgrp daemon /path/to/file; chmod g+rwx /path/to/file
- 授予特定用户完全权限file/folder:
chown username /path/to/file; chmod u+rwx /path/to/file
- 授予所有人完全权限(可能不推荐):
chmod o+rwx /path/to/file
如果进程不需要在该位置写入(mkdir,创建或更改文件,...)那么不要授予写入权限,如果它不需要执行(运行 命令,读取文件夹的内容)然后不授予执行权限。
我有一个 运行 在 xampp 上的 codeigniter 项目。当我 运行 一个 php 命令 mkdir 我得到错误 "Permission denied"。原来 php 用户和计算机用户的名称不同。所以我在 httpd.conf 文件中更改了行
User daemon
Group daemon
至
User username
Group daemon
匹配我的用户名。现在我得到了这个问题的修复,但这会在代码的另一部分产生许可错误。这很奇怪,因为我 运行 在另一台具有相同设置的机器上使用相同的项目并且它可以工作。你能给我指出正确的方向吗?
User
指令指定 httpd 进程应该使用哪个 linux 用户来 运行 作为。这意味着 httpd 进程将执行所有操作,就好像该用户(在本例中为您)正在做的那样。如果您没有执行某些操作的权限,httpd 进程将无法执行此操作,您将看到一个错误。
要修复此问题,您需要修复 httpd 进程(和 php)所需的 files/folders/commands 权限。您可以:
- 授予对 file/folder 上的守护程序组的完全权限:
chgrp daemon /path/to/file; chmod g+rwx /path/to/file
- 授予特定用户完全权限file/folder:
chown username /path/to/file; chmod u+rwx /path/to/file
- 授予所有人完全权限(可能不推荐):
chmod o+rwx /path/to/file
如果进程不需要在该位置写入(mkdir,创建或更改文件,...)那么不要授予写入权限,如果它不需要执行(运行 命令,读取文件夹的内容)然后不授予执行权限。