![]() ![]() ![]() |
Online Suche im Handbuch | ![]() |
Um MySQL zu starten, muß man sich bei LINUX unnötigerweise als root einloggen, da die S.u.S.E. Startup Skripte MySQL unnötigerweise als ROOT starten möchten. Dies stellt natürlich ein gravierendes Sicherheitsproblem dar, welches im Firewall Handbuch genauestens erläutert ist. Falls Sie gedenken, einen eigenen MySQL Server im Internet zu betreiben, sollten Sie dringend diese Kapitel durchlesen. In einem späteren Kapitel wird genau beschrieben, wie man MySQL korrekt nur mit User-Rechten startet, ohne daß die Funktionalität beeinträchtigt wird.
Falls Sie sich jedoch mit LINUX und MySQL nicht auskennen und beabsichtigen, einfach nur einen MySQL Server im Internet zu nutzen, schauen Sie sich doch einfach unser Angebot an: http://www.rent-a-database.de.
bash-2.02$ pwd
/platte2/home/user01
bash-2.02$ su
Password:
bash-2.02# whoami
root
MySQL sollte niemals mit ROOT Rechten gestartet werden, einfache User Rechte reichen völlig aus. Wir beschreiben nun trotzdem den Start des MySQL Binary unter S.u.S.E. LINUX 6.0 ohne sicherheitsrechnische Vorkehrungen:
Wir starten nun mit /sbin/init.d/mysql start den Server:
bash-2.02# /sbin/init.d/mysql start
Starting service MySQL. done
bash-2.02#
Der Server ist nun gestartet, leider haben wir keine Informationen über
Versionsnummer, Portnummer, Verzeichnisse u.s.w. Wie findet man das heraus
?
Hierzu verwenden wird einige elementare Netzwerk Befehle unter UNIX:
bash-2.02# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0
UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1
RX packets:177 errors:0 dropped:0 overruns:0 frame:0
TX packets:177 errors:0 dropped:0 overruns:0 carrier:0
collisions:0
eth0 Link encap:Ethernet HWaddr 00:80:AD:30:B6:CA
inet addr:10.0.0.5 Bcast:10.0.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:195 errors:0 dropped:0 overruns:0 frame:0
TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
collisions:0
Interrupt:10 Base address:0x6600
ifconfig zeigt uns an, mit welcher IP-Nummer unser MySQL Server im Netz erreichbar ist. Schließlich möchten wir die SQL Datenbank ja allen Usern im Netz unter ACCESS, Winword und EXCEL zur Verfügung stellen.
bash-2.02# netstat -an|more
Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:98 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:40001 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:20005 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:6711 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:113 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:79 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:513 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:515 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:37 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:19 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:13 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:9 0.0.0.0:* LISTEN
--More--
Unter S.u.S.E. LINUX sind alle möglichen unnötigen Programme gestartet, die sich an irgendwelche Ports und Netzwerkkarten bunden sind, und somit ein Sicherheitsrisiko darstellen. Uns interessieren im Moment nur die Ports 3333 oder 3306. Die ältere Version von MySQL benutzt Port 3306, die neuere den Port 3333. In der ersten Zeile schon kann man ablesen, daß MySQL den Port 3306 verwendet...
Dieser SQL Server ist also von außen unter der IP-Nummer 10.0.0.5 und der Portnummer 3306 zu erreichen. Das sollten Sie sich irgendwo notieren. Falls Sie unser Rent - A - Database Angebot nutzen, schauen Sie bitte in die persönliche Kundeninformation hinein. Dort finden Sie alle Angaben über IP-Nummer und Ports Ihres Datenbank - Servers.
S.u.S.E. Linux hat einige Eigenheiten bei der Grundkonfiguration, die einige Dinge verlangsamen können. Ohne diese Einträge reagiert LINUX beim Einloggen über das Netzwerk mit TELNET z.B. nur sehr verzögert.
Der Grund liegt darin, daß in der Datei /etc/inetd.conf leider einige Dienste, wie echo, chargen, discard deaktiviert wurden. Mit dem Editor joe (Hilfe mit STRG-k h, speichern mit STRG-k x) sollten die Einträge nach einer Korrektur so aussehen:
bash-2.02# more /etc/inetd.conf
# See "man 8 inetd" for more information.
#
# If you make changes to this file, either reboot your machine or send the
# inetd a HUP signal:
# Do a "ps x" as root and look up the pid of inetd. Then do a
# "kill -HUP <pid of inetd>".
# The inetd will re-read this file whenever it gets that signal.
#
# <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
#
echo stream tcp nowait root internal
echo dgram udp wait root internal
discard stream tcp nowait root internal
discard dgram udp wait root internal
daytime stream tcp nowait root internal
daytime dgram udp wait root internal
chargen stream tcp nowait root internal
chargen dgram udp wait root internal
time stream tcp nowait root internal
time dgram udp wait root internal
#
Mit dem Kommando: killall inetd; inetd starten Sie den INETD Server neu.
Die Probleme sollten nun nicht mehr auftreten.
Die Datei /etc/hosts sollte alle IP-Nummern enthalten, mit denen Sie aus dem LAN auf den SQL Server zugreifen möchten:
bash-2.02# more /etc/hosts
#
# hosts This file describes a number of hostname-to-address
# mappings for the TCP/IP subsystem. It is mostly
# used at boot time, when no name servers are running.
# On small systems, this file can be used instead of a
# "named" name server.
# Syntax:
#
# IP-Address Full-Qualified-Hostname Short-Hostname
#
#10.0.0.9 www2.intra.net www2
#10.0.0.9 www.intra.net www
10.0.0.5 tunix.intra.net tunix
10.0.0.1 client1.intra.net tester1
127.0.0.1 localhost
bash-2.02#
Ein bessere Alternative ist das Aufsetzen des DNS-Servers. Was für Einsteiger bisher noch ein Graus war, läßt sich mit diesem Toolkit einfach erledigen. Hierzu können Sie das Little-Idiot Toolkit verwenden. Die Einträge in den DNS Server wenden dann automatisch auch in die Datei /etc/hosts geschrieben.
![]() ![]() ![]() |
Online Suche im Handbuch | ![]() |