On DreamHost shared hosting, I'm setting up htpasswd, but Apache does not have permission to read the file. How do I give it permission? I want to either change the owner or group of the .htpasswd
file instead of giving it insecure permissions. I don't think I have access to the httpd.conf
file, so I can't use this method to find what user Apache runs as. Also, running top
or ps aux
only shows the processes I'm running but doesn't show the apache process.
Based on the output from cat /etc/passwd
and cat /etc/group
, I'm guessing it's www-data
.
Well, I followed the instructions for Password-protecting directories on Dreamhost. It generated a directory with a .htpasswd
file with the group dhapache
and permissions 440
. It also put a .htaccess
file in there with under my group. For some reason, when I try chgrp dhapache test_file.txt
I get chgrp: changing group of 'test_file.txt': Operation not permitted
. So, I just moved the .htpasswd
file that DreamHost generated to where I wanted it and edited the开发者_运维知识库 .htaccess
file it generated, despite its warnings.
Actually, you don't need access to httpd.conf:
ps aux | grep apache2
groups apache_user
should yield what You want
I was having some issue that leads me to another solution. But it only works when you have access to the configuration file
We can actually check the user and group in \etc\apache2\envars
file. This is where Apache set the environments var and use it across application.
Look for this two lines:
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
Note this is just setting environment variables. The actual setting the apache to run as what user/group is actually in the \etc\apache2\apache2.conf
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
The location of the files might me different but you should get the idea.
精彩评论