Je souhaite sécuriser un répertoire de téléchargement de fichiers sur mon serveur, comme décrit joliment ici, mais j'ai un problème avant de pouvoir suivre ces instructions. Je ne sais pas sous quel utilisateur Apache s'exécute.
J'ai trouvé une suggestion que vous pouvez regarder dans httpd.conf et qu'il y aura une ligne "Utilisateur", mais il n'y a pas de telle ligne dans mon fichier httpd.conf, donc je suppose qu'Apache est exécuté en tant qu'utilisateur par défaut. Je ne peux pas savoir ce que c'est, cependant.
Donc, ma question est (sont):
- comment puis-je savoir ce que l'utilisateur par défaut est
- dois-je changer l'utilisateur par défaut
- Si la réponse est oui et que je change d'utilisateur par défaut en modifiant httpd.conf, cela risque-t-il de tout gâcher?
Merci!
apache-2.2
eikonomega
la source
la source
root
etwww-data
. Comment donnez-vous au "bon" groupe Apache la permission d'accéder à quelque chose?Réponses:
ps aux | egrep '(apache|httpd)'
Généralement, vous verrez comment fonctionne Apache.Habituellement, vous n'avez pas besoin de changer l'utilisateur par défaut, "personne" ou "apache" sont généralement de bons utilisateurs. Tant que ce n'est pas "root";)
edit: commande plus précise pour attraper aussi les binaires apache
la source
apache
mais 1 deroot
aussi./usr/sbin/apache2 -k start
), son utilisateur estroot
et les deux autreswww-data
. Devrais-je être concerné?Vous pouvez essayer la commande suivante:
la source
Utilisez
apachectl -S
, qui montrera quelque chose d'utilisateur et de groupe Apache, quelque chose comme ceci:la source
Selon Ubuntuforums.org , l'utilisateur par défaut d'apache2 est Ubuntu
www-data
.Vu pour être vrai sur Ubuntu 13.10 Saucy.
De Lars Noodén sur le forum ci-dessus.
Pour les distributions basées sur Red Hat, ce serait (généralement son utilisateur exécutant httpd est
apache
):la source
Je sais qu'il s'agit d'un ancien message, mais il est toujours répertorié comme étant sans réponse. Je vais donc faire une suggestion. Si vous ne trouvez pas l'utilisateur ou le groupe sous lequel Apache est exécuté, essayez peut-être d'ouvrir le fichier httpd.conf. Il devrait y avoir une entrée pour "Utilisateur" et "Groupe". Vous pouvez non seulement voir quel utilisateur Apache est supposé fonctionner, mais vous pouvez le changer si vous en ressentez le besoin.
la source
Vous pouvez inclure une ligne de code dans votre script PHP:
la source
Ce code listera - plus ou moins - par ordre alphabétique tous les utilisateurs non root exécutant des processus contenant
apache
(ou dont le nom contientapache
)la source
ps aux | grep apache
en cours d'exécution.NOTE: Ceci est la même réponse que j'ai donnée sur Stackoverflow .
la source
Ou vous pouvez consulter le fichier de configuration apache et rechercher le propriétaire et le groupe.
la source
Comme suggéré par Noyo ici :
Puis:
la source
Une autre approche, du moins pour les distributions basées sur Debian / Ubuntu, consiste à utiliser la même méthode qu'Apache pour définir son utilisateur et son groupe: source
/etc/apache2/envvars
!Si vous voulez avoir du chic, vous pouvez supprimer les erreurs si le fichier n'est pas trouvé et fournir une valeur par défaut:
la source
J'ai trouvé que la plupart des solutions proposées ici étaient spécifiques au système ou à la configuration (en particulier, la plupart des solutions ne fonctionnaient pas du tout sur MacOS) et quelques-unes comptaient sur l'utilisateur pour savoir où se trouvaient les fichiers de configuration d'Apache. .
Donc, je triche un peu et laisse Apache lui-même me dire quoi.
La commande simple
apachectl -S
vous indiquera ce que vous devez savoir sur une instance en cours d’Apache, et ses résultats peuvent être analysés assez facilement. Voici ma solution, que j'utilise en haut de quelquesbash
scripts pour déterminer une variété d'éléments dont j'ai besoin à un moment donné ...Ces valeurs peuvent ensuite être utilisées comme telles:
la source
J'ai trouvé cette commande dans la documentation de CakePHP .
Contient maintenant
HTTPDUSER
le nom d'utilisateur de l'utilisateur qui exécute le serveur;echo $HTTPDUSER
dans mon cas,www-data
il affiche –utilisant rlerdorf / php7dev .la source
Utilisez lsof et passez le port apache est écouté comme argument. Voir la colonne USER pour l'utilisateur appache est exécuté en tant que.
la source