Moin!
Nur solange ich in der Konsole als "root" eingeloggt bin oder auch danach? Bei MySQL erscheint es mir logisch, da muss ich ja ständig (jedenfalls, solange ich mir keinen "Arbeits-User" mit eingeschränkten Privilegien konfiguriert habe) als root drin sein...
Du meinst wahrscheinlich nicht den root Deines Betriebssystems, sondern den des DBMS MySQL. Dann besteht hauptsächlich die Gefahr, dass Du mittels Deiner Allmacht selbst versehentlich Daten vernichtest. Aus Sicht des Betriebssystems hast Du möglicherweise zwei verschiedene Nutzerkennungen. Die des MySQL-Demons ('Select Into Outfile ...' kann ggf. Systemdateien überschreiben) und die Kennung, unter Dein Client effektiv aufgerufen wurde. Das regelmäßig ist die Kennung mit der Du Dich am OS angemeldet hast.
Generelle Nebengefahren ergeben sich beispielhaft aus Angriffsmöglichkeiten auf den X-Server oder Dein OS (Keylogger etc.)
Solltest Du den Server (Apache, MySQL, ... jeder andere) als root und nicht als Dienst gestartet haben, so ergibt sich in von mehreren Personen genutzten Räumen das Problem, dass ein unberechtigter Dritter das Programm beendet, Deine Shell benutzt, das Programm wieder startet. Verwende also statt einer root-shell den Befehl sudo.
Im Regelfall empfiehlt es sich also die Server mit:
~> sudo /etc/init.d/mysql start|stop|restart|reload
~> sudo /etc/init.d/apache|httpd|apache2|httpd2 start|stop|restart|reload
(Das Pipe-Symbol '|' kennzeichnet Alternativen.)
... zu steuern oder wie schon beschrieben auf unprivilegierten Ports laufen zu lassen.
Mit welchem Benutzer MySQL oder der Apache effektiv laufen kannst Du mit
~> ps axu |grep httpd
oder
~> ps axu |grep mysqld
herausbekommen. Hinweis hierzu: Beim Apache (prefork) läuft genau ein Prozess, der die Arbeitsprozesse steuert, mit root-Rechten, beantwortet aber keine Webanfragen.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development