hallo Ashura,
In der Theorie sollte es doch, so weit ich es verstanden habe, möglich sein, Software auch als normaler Benutzer zu installieren - grundsätzlich zumindest.
Nein. Grundsätzlich nicht. Nein, auch dann nicht.
Doch, grundsätzlich doch, und vor allem _dann_, wenn ... (ja, wann eigentlich?)
Eine Softwareinstallation ist ein gravierender Eingriff ins System
Nicht immer. Es hängt sehr stark von der Software ab.
die Folgen sind nicht immer abzuschätzen, weshalb die Installation nur von einem gewissenhaften Benutzer durchgeführt werden sollte, zu welchen root normalerweise gehört.
Liest sich auf den ersten Blick überzeugend, ist es aber nicht. Gerade weil "Folgen" nicht immer abschätzbar sind, hat ein beliebiger Benutzer selbstverständlich die Möglichkeit, _seine_ Softwareinstallation(en) durchzuführen und ausführbare Dateien beispielsweise in /~/bin abzulegen - und die dann über PATH in seinem Userprofil aufzurufen.
Natürlich mag es Ausnahmen geben, wenn man vielleicht Dateien in Verzeichnissen ablegen muss, auf die eben nur root Zugriff hat.
Da bei im Grunde jeder Installation Dateien in ebensolchen Verzeichnissen abgelegt werden müssen, sind hier stets die Rechte des Superusers erforderlich.
Da muß ich dir ein ernsthaftes NEIN entgegenschmettern. Selbst Systemtools wie YaST oder apt können in gewissem Umfang von nichtprivilegierten Benutzern angesprochen und verwendet werden. Allerdings sollte ein nichtprivilegierter user keine Software installieren dürfen, die systemweit zur Verfügung stehen soll - also beispielsweise keine Firewall. aber warum soll er sich nicht seinen Lieblingsbrowser oder einen bestimmten mail-Client installieren dürfen?
Zumindest Debian rät, diese Automatismen nicht zu umgehen, sondern alles über den Paket-Manager zu machen.
Die Softwareverwaltung per Paketverwaltung ist auch weitaus sauberer und ermöglicht bequeme Updates.
Noch ein ernsthaftes NEIN. Nimm beispielsweise Gentoo: da gibt es zwar ein ebuild für Apache 2.2.0, aber das ist aus Sicherheitsgründen (es scheint da noch irgendwelche nicht aufgelösten Konflikte zu geben) immer noch "maskiert". Wenn ich die Maskierung aufhebe und so einen Apache als root trotzdem installiere und auch gleich noch per daemon bei Systemstart losrennen lasse, steht er allen Benutzern zur Verfügung. Das ist aber vielleicht gar nicht gewollt. Also hole ich mir nach der Anmeldung als normaler Benutzer mit eingeschränkten Rechten die Sourcen von httpd.apache.org, lege mir ein Verzeichnis ~/Apache an, kompiliere ihn mir selber und sorge dafür, daß sein bin-Verzeichnis im PATH steht. Die Folge: wenn ich mich als root anmelde, habe ich gar keinen Apache, wenn ich mich als "user1" anmelde, habe ich einen Apache 2.0.55, der über eine von root vorgenommene Standard-Installation aus dem portage-Tree gebaut wurde, wenn ich mich aber als "user2" anmelde, habe ich einen recht gut funktionierenden Apache 2.2.0 - und den will ich mir ja nun wirklich gründlich anschauen *g*
Ich bin der Auffassung, dass man die Paketverwaltung nicht mehr missen möchte, wenn man sie einmal wirklich einzusetzen weiß.
Das ist schon richtig, gilt aber nicht generell (und gerade gegenüber YaST bekommt man mit einer solchen Auffassung erhebliche Schwierigkeiten). Ich würde diese Aussage erweitern wollen: ich bin der Auffassung, daß man die Möglichkeiten, mit ./configure beim Kompilieren von Software nicht mehr missen möchte, wenn man sie einmal kennengelernt hat und wirklich einzusetzen weiß. Die diversen "Paketverwaltungsprogramme" wie YaST und auch apt sind meines Erachtens (sehr nützliche und hilfreiche) Zugeständnisse an diejenigen Benutzer, die unsicher sind, aber einfach eine "funktinierende" Softwareumgebung haben wollen. Das ist nett gedacht und hilft tatsächlich vielen Leuten, sich ihr "Linux" erstmal funktionsfähig einzurichten. Aber es führt gleichzeitig eben zu der irrigen Auffassung, daß es "nur" so geht.
Untergräbt dieses Verhalten von Distros nicht den eigentlichen Sinn des root-Konzepts, sich nur dann als root anzumelden, wenn es nötig ist?
Wie gesagt; bei einer Softwareinstallation *ist* es nötig.
Wie gesagt: nein, es ist nicht *zwingend* nötig, für viele (Anfänger und auch Fortgeschrittene) ist es aber ganz hilfreich.
Der "Sinn des root-Konzepts" (schöne Begriffsfindung übrigens) wäre vielleicht weiter zu diskutieren. Daß root Software installieren kann, ist ja nicht seine einzige Aufgabe. Und weshalb root von manchen Distributionen (z.B. Debian) gehindert wird, eine grafische Oberfläche zu betreten, ist für Anfänger oft sehr schwer verständlich. Selbst die SUSE zeigt, wenn man sich als root anmeldet, standardmäßig einen knallroten Hintergrund bei KDE mit allerhand Bomben und Explosionswarnschildern - nur erklärt sie nicht, warum das so ist, und auch die anderen erklären es nicht. Also suchen viele nach Möglichkeiten, wie man diese scheinbaren Restriktionen umgehen kann - man kann es ja leider. Nur hat man dann den Sinn dieser Restriktionen nicht verstanden.
Es wäre nun fatal, wenn ausschließlich root Software installieren und/oder die Installations- und Verwaltungswerkzeuge bedienen dürfte. Der Sinn des "user-Konzepts" besteht ja unter anderem darin, daß ein Benutzer ebenfalls die volle Souveränität über den Teil des Systems haben soll, der ihm von root zugänglich gemacht wird. Vielleicht will ja "user1" ein KDE haben, wenn er "startx" aufruft, und die ganzen neckischen kleinen Spielchen spielen können, vielleicht will ja "user2" stattdessen eine GNOME-Oberfläche haben und edonkey benutzen können, findet aber die Spielerchen so richtig äks ...
Es ist auch nicht nötig, daß beispielsweise root Datenbanksysteme wie PostgreSQL "benutzen" kann - root muß lediglich entscheiden dürfen, ob er das einem user erlaubt oder nicht, und bei Bedarf muß root Konfigurationsdateien korrigieren oder ganze Installationsverzeichnisse der "user" löschen oder bereitstellen können. root hat als Superuser Verwaltungsaufgaben gegenüber dem Geaamtsystem -und_ den usern - aber was ein "user" in seinem eigenen Verzeichnis anstellt, geht ihn eigentlich wenig an. Es ist ungefähr dasselbe Verhältnis wie das von Eltern gegenüber ihren Kids: wie die ihre Kinderzimmer ausgestalten, geht ab einer gewissen Altersstufe die Eltern nix mehr an, aber sie haben natürlich einen Genralschlüssel fürs Kinderzimmer und können sich bei begründetem Verdacht auch mal umsehen, was da grade so los ist. Meistens wird es fürchterlich unaufgeräumt aussehen. Als pädagogisch geschulter Vater wird man da vielleicht einmal pro Jahr mit geballter Autorität dazwischenfunken und kategorisch eine Aufräumaktion verlangen - aber nicht häufiger. Es sei denn, Sohnemann oder Töchterchen hat angefangen, tragende Wände der gesamten Hauskonstruktion herauszuklopfen. Das geht dann zu weit. Da kriegt das aufmüpfige Kind eben ein neues frisch renoviertes Kinderzimmer (das in wenigen Tagen garantiert wieder unaufgeräumt auseehen wird), und als treusorgender Vater kann man sich dann unter vielen Seufzern an die Renovierung der tragenden Elemente des Einfamilienhauses machen ...
Grüße aus Berlin
Christoph S.