问题
It's hard to find Mac-specific answers to this question on the web, so I'm hoping someone out there can put this one to rest for me? My permissions are screwed up on my sites and I'm not sure how to fix them without just slamming a recursive 777 on everything which is quite obviously incorrect.
Thanks!
回答1:
This is the most restrictive and safest way I've found, as explained here for hypothetical ~/my/web/root/
directory for your web content:
- For each parent directory leading to your web root (e.g.
~/my
,~/my/web
,~/my/web/root
):chmod go-rwx DIR
(nobody other than owner can access content)chmod go+x DIR
(to allow "users" including _www to "enter" the dir)
sudo chgrp -R _www ~/my/web/root
(all web content is now group _www)chmod -R go-rwx ~/my/web/root
(nobody other than owner can access web content)chmod -R g+rx ~/my/web/root
(all web content is now readable/executable/enterable by _www)
All other solutions leave files open to other local users (who are part of the "staff" group as well as obviously being in the "o"/others group). These users may then freely browse and access DB configurations, source code, or other sensitive details in your web config files and scripts if such are part of your content. If this is not an issue for you, then by all means go with one of the simpler solutions.
回答2:
If you really don't like the Terminal here is the GUI way to do dkamins is telling you :
1) Go to your user home directory (ludo would be mine) and from the File menu choose Get Info cmdI in the inspector :
2) By alt/option clicking on the [+] sign add the _www group and set it's permission to read-only :
- Thus consider (good practice) not storing personnal information at the root of your user home folder (& hard disk) !
- You may skip this step if the **everyone** group has **read-only** permission but since AirDrop the **/Public/Drop Box** folder is mostly useless...
3) Show the Get Info inspector of your user Sites folder and reproduce step 2 then from the gear action sub-menu choose Apply to enclosed Items... :
Voilà 3 steps and the GUI only way...
回答3:
I know this is an old post, but for anyone upgrading to Mountain Lion (10.8) and experiencing similar issues, adding FollowSymLinks
to your {username}.conf file (in /etc/apache2/users/) did the trick for me. So the file looks like this:
<Directory "/Users/username/Sites/">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
回答4:
2 month old thread, but better late than never! On 10.6, I have my webserver documents folder set to:
owner:root
group:_www
permission:755
_www is the user that runs apache under Mac OS X. I then added an ACL to allow full permissions to the Administrators group. That way, I can still make any changes with my admin user without having to authenticate as root. Also, when I want to allow the webserver to write to a folder, I can simply chmod to 775, leaving everyone other than root:_www with only read/execute permissions (excluding any ACLs that I have applied)
回答5:
On my 10.6 system:
vhosts folder:
owner:root
group:wheel
permissions:755
vhost.conf files:
owner:root
group:wheel
permissions:644
回答6:
The user owner for me is the admin user and the group is _www and works with permissions set to 775 for dir and for files 664
回答7:
Catalina Update / Desktop Permissions
I come across this once a year on macOS. I usually use apache2 for hosting a folder on my desktop.
If you are trying to give access to the desktop
folder you need to follow this to allow httpd to have access to all folders: https://apple.stackexchange.com/a/373139/353465
回答8:
Open up terminal first and then go to directory of web server
cd /Library/WebServer/Documents
and then type this and what you will do is you will give read
and write
permission
sudo chmod -R o+w /Library/WebServer/Documents
This will surely work!
来源:https://stackoverflow.com/questions/2001881/correct-owner-group-permissions-for-apache-2-site-files-folders-under-mac-os-x