Hallo zusammen,
ich bin absoluter Neuling in Sachen Linux. Da mich aber dieses BS schon immer interessiert, habe ich mein Hobby erweitert und bringe mir nun diese faszinierende Welt selbst bei :) jedenfalls klappt es ansatzweise schon ganz gut. Ich fahre Debian 3.0 woody auf einem externen Server.
Meine generelle Frage lautet:
Programminstallationen wie den Apache, können die mit ruhigem Gewissen unter “root” installiert werden? Ich bin dort etwas verunsichert, denn ich kann bei ./configure uid und gid angeben? Wann ist das zwingend erforderlich? Ist es immer besser für bestimmte Bereiche/Aufgaben, einzelne User/Gruppen anzulegen?
Ich habe mich nun durchgegoogled… einige “Experten” nehmen als Gruppe “nogroup” und User “wwwrun”, obwohl ich denke, das kann jedem ja selbst überlassen sein.
Hat jemand kurz die Zeit, mich darüber aufzuklären?
Danke und Gruss,
Henning
Hallo Jan,
ich lerne mein ganzes Leben nach dem Prinzip “learning by doing”. Das bedeutet für mich, Dinge von Anfang an komplett selbst zu erstellen. Auch wenn es Arbeit von einem Monat bedeutet, aber dann habe ich die Materie, um die es bei mir geht, richtig verstanden und kann damit umgehen.
Sicherlich gibt es rpm Pakete, bzw. deb’s für Debian. Ich kann den Apache auch über apt-get installieren, aber dann habe ich es nicht selbst gemacht und nichts verstanden, was dort passiert ist.
Mir geht es also um das Grundliegende. Ich hoffe du verstehst meine Ansicht.
Grüsse,
Henning
Hi Henning,
mal was Grundlegendes:
Wenn man ein Paket selbst kompiliert, weiß man doch noch lange nicht was da passiert. Du bekommst allerhöchstens mit welche Abhängigkeiten das Programm hat bzw. welche Programmbibliotheken es benötigt. Wenn du genau wissen willst, was in einem Programm so alles abgeht, müsstest du jeden Quellecode bis ins Detail durcharbeiten.
Wenn du das vorhast, wünsch ich dir viel Spaß und hoffe, dass es noch Webserver gibt nachdem du deinen, mit allen durchgeackerten Quellpaketen, online bringst.
Meiner Meinung nach ist es gerade beim Apache viel wichtiger zu verstehen, wie man diesen sicher konfiguriert. Wenn du Debian Woody verwendest, bekommst du immer die aktuellsten Security-Pakete geliefert, die du mit apt-get update/upgrade auf den neuesten Stand halten kannst. Bei deinem selbstgebackenen Paket musst du, nach dem du einen Patch eingespielt hast das komplette Paket immer wieder neu kompilieren. Deinen Ehrgeiz in allen Ehren, aber bitte setze dich lieber mit dem sauberen Konfigurieren auseinander und verwende deine Energie dafür die man-Pages und Howtos der Programme durchzulesen und zu verstehen.
kurzes Beispiel: Ein nicht sauber konfigurierten Webserver kann sehr schnell von Leuten mit bösen Absichten benutzt werden um z.B. Angriffe auf andere Server auszuführen, Dateien auf deiner Festplatte auszulagern usw.
Vielleicht kommst du auf die Idee einen Mailserver aufzusetzen, nachdem dein Apache läuft. Wenn ein Mail-Server nicht sauber konfiguriert ist, hat man ganz schnell, ohne dieses zu wissen, eine Spamschleuder im Haus stehen.
Bitte mach dir Gedanken, ob du der Sache wirklich gewachsen bist.
Web- und Mailserver sind auch ohne selbstgebaute Pakete spannend und wartungsbedürftig .
und Debian macht auch mit apt-get spaß ;-)
Gruß rottriges
Es ist auch legitim, dass du mal was neues versuchst um etwas zu lernen.
Allerdings solltest du nicht — wie leider viele andere auch — vollkommen sinnentleert über deine Postings ein “Neuling”-Warnzeichen schreiben. Man ruft ja schließlich auch nicht nur so zum Spaß: “Hilfe! Ich ertrinke.”
Zu deiner Frage: Wenn du selbst dahinter kommen willst, stell’ dir doch mal die Frage, wie der Apache überhaupt mit den Benutzerkennungen arbeitet: z.B. muss er als root gestartet werden, damit er überhaupt an den TCP-Port 80 binden darf — unter Port 1024 dürfen das nämlich nur root-Prozesse. Sobald er eine Anfrage bekommt, spaltet er ein Kind ab, das diese und eine Reihe weiterer Anfragen bearbeitet. Vor der tatsächlichen Bearbeitung wechselt das Kind aber jeweils auf den Benutzer wwwrun, damit PHP/CGI-Skripte etc. nicht mit root-Rechten laufen.
Jetzt mehr Klarheit? Dann bitte RTFM.
Jan
hallo jan,
das mit den port und den kind-prozessen ist mir geläufig. daher hat es mich auch zum beispiel brennend interessiert, wie suEXEC funktioniert und arbeitet. z.b. für das ausführen von scripten. ich bin seit gestern mittag auch ein ganzes stück weiter.
apt-get ist ein gutes programm, was ich auch schätze und selbst oft anwende. nur ging es mir bei dem apache darum, kein deb paket zu installieren, sondern mich zu fragen, was macht apache, wie funktioniert es. ich habe auf garkeinen fall alles verstanden und begriffen, dass weiss ich :). aber ich sitze mit ehrgeiz dahinter.
ebenso finde ich es gut, hier wirklich mit nachdruck zu verdeutlichen, dass unter linux wesentlich mehr beachtet werden muss, als unter anderen bs’en.
vielen dank erst einmal für all die antworten. wenn ich auf probleme stosse, melde ich mich gerne wieder bei euch.
gruss,
henning