我在笔记本电脑上运行apache服务器(macbook pro osx 10.9.2)用于Web开发。当我安装一个Joomla示例Web应用程序并尝试一些功能(比如通过joomla管理员更改字体设置)时,我收到大量错误消息,表明它无法写入某些子文件夹。当我手动更改“每个人”的权利时。阅读& amp;写'对于与mac文件管理器相关的子文件夹,问题解决了。但我不认为这是正确的解决方案(每个人都可以访问)和优雅的解决方案(以避免我会为所有子文件夹做错误消息)。
如何以正确的方式设置访问权限?例如我应该向哪个实体分配什么样的访问权限(正如您所看到的那样,我并不熟悉这些安全问题)。如果我使用mac终端应用程序,那么正确的命令是什么?
感谢您的帮助。
答案 0 :(得分:0)
嘿有mac用户(':
打开终端并查看chmod命令。
使用chmod命令,您可以更改文件夹和子文件夹的权限。
例如:
chmod -R ugo
u=permission for user that owns the file
g=permission for groups that own the file
o=permissions for others
4=read
2=write
1=execute
u=4 -> owner can read but cannot write or execute
u=4 & g=3 -> owner can read | groups that own the file can write and execute but not read from it
// This wil give all users read and write permissions.
chmod -R 666 joomla/
答案 1 :(得分:0)
如果您使用的是Mac OS X附带的内置Apache,则Apache运行的默认用户与文件的所有权之间会发生冲突。 Apache可以访问它们,也可以阅读&写下它们但不能同时写两个。
例如,如果我在ls -al
到我的主目录后在终端中发出cd
,我可以看到~/Sites
目录具有这些权限和所有权:
drwxr-xr-x+ 18 cppl staff 612 6 Apr 09:32 Sites
默认情况下,虽然Apache在_www
组中以_www
运行。
因此,您需要将用户添加到_www
组或以用户身份运行Apache。
如果您将自己添加到_www
群组,您仍然会使用该文件&目录权限。
如果您更改httpd.conf
以便Apache以您的用户身份运行,则需要查找并更改此部分:
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User _www
Group _www
具体而言,您需要将User
行设置为短用户名,例如对我而言cppl
通常你会想要将组设置为staff
,这是我猜Mac OS X上用户的默认值。例如
User cppl
Group staff
当然,如果您这样做,您应该可以通过防火墙限制访问Apache到localhost
或您的专用网络(不包括路由器)。