Ich möchte ein Datei-Upload-Verzeichnis auf meinem Server sichern, wie hier beschrieben, aber ich habe ein Problem, bevor ich diese Anweisungen befolgen kann. Ich weiß nicht, unter welchem Benutzer Apache ausgeführt wird.
Ich habe einen Vorschlag gefunden, dass Sie in httpd.conf suchen können und es eine "Benutzer" -Zeile geben wird, aber in meiner httpd.conf-Datei gibt es keine solche Zeile, daher wird Apache vermutlich als Standardbenutzer ausgeführt. Ich kann aber nicht herausfinden, was das ist.
Also, meine Frage ist (sind):
- Wie finde ich heraus, was der Standardbenutzer ist?
- muss ich den Standardbenutzer ändern?
- Wenn die Antwort Ja lautet und ich den Standardbenutzer durch Bearbeiten von httpd.conf ändere, ist es wahrscheinlich, dass etwas schief geht?
Vielen Dank!
apache-2.2
eikonomega
quelle
quelle
root
undwww-data
. Wie erteilen Sie der "richtigen" Apache-Gruppe die Erlaubnis, auf etwas zuzugreifen?Antworten:
ps aux | egrep '(apache|httpd)'
In der Regel wird angezeigt, als was Apache ausgeführt wird.Normalerweise müssen Sie den Standardbenutzer nicht ändern. "Nobody" oder "apache" sind normalerweise gute Benutzer. Solange es nicht "root" ist;)
edit: genauerer befehl zum abfangen von apache binaries
quelle
apache
denen die meisten außer 1root
auch./usr/sbin/apache2 -k start
), der eine Benutzer istroot
und die anderen beidenwww-data
. Sollte ich besorgt sein?Sie können den folgenden Befehl versuchen:
quelle
Verwenden Sie Folgendes
apachectl -S
, um Apache-Benutzer und -Gruppen anzuzeigen:quelle
Laut ubuntuforums.org ist unter Ubuntu der Standardbenutzer für apache2
www-data
.Gesehen um wahr zu sein auf Ubuntu 13.10 Saucy.
Von Lars Noodén im obigen Forum.
Bei Red Hat-basierten Distributionen ist dies (normalerweise der Benutzer, der httpd ausführt
apache
):quelle
Ich weiß, dass dies ein alter Beitrag ist, aber er ist immer noch als unbeantwortet gelistet, deshalb werde ich einen Vorschlag machen. Wenn Sie nicht finden können, unter welchem Benutzer oder welcher Gruppe Apache ausgeführt wird, öffnen Sie möglicherweise die Datei httpd.conf. Dort sollte ein Eintrag für "Benutzer" und "Gruppe" vorhanden sein. Sie können nicht nur sehen, unter welchem Benutzer Apache ausgeführt werden soll, sondern Sie können ihn auch ändern, wenn Sie dies wünschen.
quelle
Sie können eine Codezeile in Ihr PHP-Skript einfügen:
quelle
Dieser Code listet - mehr oder weniger - alphabetisch alle Nicht-Root-Benutzer auf, die Prozesse ausführen, die enthalten
apache
(oder deren Name enthältapache
).quelle
ps aux | grep apache
während er ausgeführt wird.HINWEIS: Dies ist die gleiche Antwort, die ich auf Stackoverflow gegeben habe .
quelle
Sie können auch die Apache-Konfigurationsdatei überprüfen und nach dem Eigentümer und der Gruppe suchen.
quelle
Wie von Noyo hier vorgeschlagen :
Und dann:
quelle
Ein alternativer Ansatz, zumindest für Debian / Ubuntu-basierte Distributionen, besteht darin , die gleiche Methode
/etc/apache2/envvars
zu verwenden, die Apache verwendet, um Benutzer und Gruppe festzulegen : source !Wenn Sie Lust haben, können Sie Fehler unterdrücken, wenn die Datei nicht gefunden wird, und einen Standardwert angeben:
quelle
Ich habe festgestellt, dass die meisten der hier angebotenen Lösungen system- oder konfigurationsspezifisch sind (insbesondere funktionieren die meisten Lösungen unter MacOS überhaupt nicht), und einige hängen davon ab, dass der Benutzer weiß, wo sich die Konfigurationsdateien von Apache überhaupt befinden. .
Also betrüge ich ein bisschen und lasse mir von Apache selbst sagen, was was ist.
Mit dem einfachen Befehl
apachectl -S
erfahren Sie, was Sie über eine laufende Instanz von Apache wissen müssen, und die Ergebnisse können relativ einfach analysiert werden. Hier ist meine Lösung, die ich oben in einigenbash
Skripten verwende, um eine Vielzahl von Dingen zu bestimmen , die ich zu einem bestimmten Zeitpunkt möglicherweise benötige ...Diese Werte können dann als solche verwendet werden:
quelle
Ich habe diesen Befehl in CakePHP-Dokumenten gefunden .
Enthält jetzt
HTTPDUSER
den Benutzernamen des Benutzers, der den Server betreibt,echo $HTTPDUSER
in meinem Fall Ausgabenwww-data
- mit rlerdorf / php7dev .quelle
Verwenden Sie lsof und übergeben Sie den Port, auf den Apache als Argument hört. In der Spalte USER sehen Sie, wie der Benutzer-Appache ausgeführt wird.
quelle