symlink.ch
Wissen Vernetzt - deutsche News für die Welt
 
symlink.ch
FAQ
Mission
Über uns
Richtlinien

Moderation
Einstellungen
Story einsenden

Suchen & Index
Ruhmeshalle
Statistiken
Umfragen

Redaktion
Themen
Partner
Planet

XML | RDF | RSS
PDA | WAP | IRC
Symbar für Opera
Symbar für Mozilla

Freunde
Benutzergruppen
LUG Switzerland
LUG Vorarlberg
LUGen in DE
SIUG
CCCZH
Organisationen
Wilhelm Tux
FSF Europe
Events
LinuxDay Dornbirn
BBA Schweiz
CoSin in Bremgarten AG
VCFe in München
Menschen
maol
Flupp
Ventilator
dawn
gumbo
krümelmonster
XTaran
maradong
tuxedo

 
Configfile-Chaos: Ist XML die Lösung?
Veröffentlicht durch XTaran am Dienstag 01. Juli, 08:13
Aus der Babylon Abteilung
Programmieren gabisoft schreibt "Wie allgemein bekannt ist, muss jedes Tool unter Unix sein eigenes Süppchen kochen, wenns um Configfiles geht. Solange man sich mit einem Editor begnügt, ist das nicht weiter tragisch. Ausser das man x verschiedene Syntaxes lernen muss, nicht weiter schlimm. Problematisch wird es erst, wenn man diese Daten auswerten muss. Zum Beispiel für ein Konfigurations-GUI oder bei Installationen. Hier ist dieses Chaos kaum bewältigbar. Meisst wird es mit einem Zweitsystem gelöst, dass die Configfiles schreibt. z.B. Debconf, Yast"

"Als ich mal bei google nach diesem Problem gesucht habe, ist mir ein interessanter Artikel untergekommen. Sie haben mit dem Projekt ConfyC versucht, einen Parser zu programmieren, der mit allen Configfiles umgehen kann. Leider sind sie gescheitert.

Ist es wirklich sinvoll, dieses Chaos so weiterzuführen und viele unschöne Lösungen, wie debconf, yast, ... zu fördern?"

Zumindest in der Perl-Community hat schonmal jemand versucht das Problem (allerdings an anderer Stelle) zu lösen und hat sowas wie getopt für Configfiles geschrieben, was auch eine gewisse Verbreitung hat: AppConfig.pm. Allerdings dreht sich bei AppConfig so manchem Unix-Benutzer der Magen um: Implementiert ist das gut bekannte Windows-INI-Format. Und nicht etwa das bei Unixern häufig nicht unbeliebte, SGML-ähnliche Apache-/ProFTPd-Format.

Gestohlenes iBook | Druckausgabe | Spekulative Programmausführung reduziert Wartezeiten  >

 

 
symlink.ch Login
Login:

Passwort:

extrahierte Links
  • interessanter Artikel
  • AppConfig.pm
  • gabisoft
  • Mehr zu Programmieren
  • Auch von XTaran
  • Kolumnen
  • Erlebnisbericht Debian-Geburtstagsfete in Wallenrod/Hessen
  • Ruhiges Wochenende
  • Paradigmenwechsel in der Schweizer Radiopolitik?
  • Headcrash Langzeitversuche
  • Life Video Stream manipulation
  • Internet-Versicherung?
  • Swisscom PWLAN Erfahrungen
  • Desktop Light Linux
  • LinuxSonntag
  • LinuxSamstag
  • Diese Diskussion wurde archiviert. Es können keine neuen Kommentare abgegeben werden.
    Bad idea (Score:2, Tiefsinnig)
    Von SrmL (dwsl [at] dur.ch) am Tuesday 01. July, 09:16 MES (#1)
    (User #17 Info) http://dur.ch/
    XML ist IMHO für Config-Files so ziemlich die schlechteste denkbare Lösung.

    XML dient der Strukturierung hierarchischer Daten. Von meinen Config-Files sind die wenigsten echt hierarchisch, es gibt höchstens mal einzelne Sections, ev. noch Subsections, was aber oft mehr der Übersichtlichkeit dient als einer echten Hierarchie entspricht. XML ist ausserdem nicht richtig Human-readable und v.a. nicht Human-writable, die Gefahr, dass man sich vertippt ist gross. Ausserdem muss man die jeweilige DTD des gerade zu editierenden Files kennen.

    Das Windows-INI-Format hingegen hat diese Nachteile nicht, es bietet im Gegenteil alles notwendige für 99% aller Fälle:

    • Strukturierung durch Sections
    • Kommentare
    • einfach zu parsen (sogar in PHP gibt es eine Funktion dafür)
    • auch für Menschen les- und schreibbar
    Und es braucht keine DTD und keinen Validator.

    Hätte nie im Leben gedacht, dass ich mal für INI-Files lobbyieren würde...

    Re:Bad idea (Score:2)
    Von tr0nix am Tuesday 01. July, 10:21 MES (#4)
    (User #741 Info) http://www.secuserv.ch
    PHP hat auch einen XML parser. Ich hab mal einen gebastelt mithilfe einiger PHP-eigenen Funktionen. Er parsed allerdings nur well-formatted XML (ohne Parameter). Eignet sich super fuer einfache Configfiles. Und DTD brauchst du auch nicht.


    ----------------
    Wer gegen ein Minimum
    Aluminium immun ist, besitzt
    Aluminiumminimumimmunität
    Re:Bad idea (Score:0)
    Von Anonymer Feigling am Tuesday 01. July, 12:32 MES (#10)
    Ich seh schon, ein PHP Kenner :)
    Re:Bad idea (Score:2)
    Von tr0nix am Tuesday 01. July, 22:29 MES (#15)
    (User #741 Info) http://www.secuserv.ch
    Muss man(n) sich dafuer schaemen? ;) Naja, wer die Klasse mal anschauen (und ueberarbeiten will), mir sagen. Ich geb sie gerne raus (irgendwann poste ich sie vielleicht mal auf meine Page..).


    ----------------
    Wer gegen ein Minimum
    Aluminium immun ist, besitzt
    Aluminiumminimumimmunität
    xml hin, xml her... (Score:2)
    Von tr0nix am Tuesday 01. July, 09:18 MES (#2)
    (User #741 Info) http://www.secuserv.ch
    ich find XML nur semipraktisch. Ist fuer den Programmierer unbequem, fuer den Administrator schlecht zu ueberblicken (wir haben hier XML Konfigurationsfiles, da blickt man ab einem gewissen masse an Komplezitaet echt nimmer durch), sind ueberladen an Tags...
    Wenns wenigstens einfach nur "well formated"-XML waere.. aber nein, es muss natuerlich noch irgendwelche Spezifikationen einhalten, moeglichst viele Paragraphen haben (so nennt man doch diese Zusatzoptionen in den Elementbezeichnern?) etc... aber da soll einer doch erstmal ne bessere Loesung finden.. :/


    ----------------
    Wer gegen ein Minimum
    Aluminium immun ist, besitzt
    Aluminiumminimumimmunität
    Re:xml hin, xml her... (Score:1)
    Von gabisoft am Tuesday 01. July, 10:16 MES (#3)
    (User #881 Info) http://gabisoft.ch.vu/
    Muss ja nicht XML sein, aber irgend ein anderer Standard. Es wird aber niemand standardisieren und so wird es wohl auch in Zukunft so weitergehen. Zudem ist es wohl schwierig, einfach die Configfiles der Programme zu ändern.

    Irgendwie wirklich schade, es behindert zum Teil die Weiterentwicklung von Linux. Und so werde ich wohl SuSIconfig noch lange sehen dürfen. *seufz*

    DebConf ist einbischen besser, aber eben auch nur einbischen. Man müsste halt der Software beibringen die Configuration direkt aus dem Debconf zu lesen.
    Re:xml hin, xml her... (Score:1)
    Von tbf am Tuesday 01. July, 22:53 MES (#16)
    (User #21 Info) http://taschenorakel.de/
    Das XML scheinbar unbequem ist, liegt a) in der UNIX-Welt am ewigen Beharren an der komplett überholten Programmiersprache C, b) an der Inkompetenzen vorgeblicher Experten.

    Die mit C machbaren XML API sind einfach grottig. Wie bequem XML sein kann, erschliesst sich hingegen mit API wie dem von MSXML oder .NET (ja, schmäme mich schon Microsoft zu loben, aber deren XML APIs sind hervorragend):
    XmlDocument xml = new XmlDocument();
    xml.Load("foobar.xml");
    string xpath = "//blah[@id>13][@xml:lang='de']/xyz";
    foreach(XmlNode node in Xml.SelectNodes(xpath))
    SomeThing(node["title"]);

    Das ist doch nun wirklich einfacher, als jeder hangwichste Parser, jedes Bison-Gewusel. Über Spielchen wie XML serialization, bei dem per XML Datenstrukturen menschenlesbar! (im Vergleich zu binary serialization) gebannt werden will ich hier erst gar nicht eingehen. Nett mir, was es euch Kostet so etwas ohne XML zum implementieren. Aus meiner Erfahrung muss ich sagen: Wenn ordentliche API und moderne Programmiersprachen zum Einsatz kommen, erfüllt XML sein Versprechen als Universalparser umfassend. Ich persönlich habe mittlerweile etliche von mir genutze Dateiformate auf XML umgestellt. Lines of code sind immer drastisch gesunken (so ab Faktor fünf). Spätere Spracherweiterungen waren Kinderkram.

    Tschuldigung. Dies mag jetzt arrogant klingen. Ist es vielleich auch: Aber wer noch nicht mal XML packt, sollte um Himmelswillen die Hände von Compilern und anderen Verbrechen lassen. Vor allen sollten diese Typen bitte aufhören, Ihre Unfähigkeit hinter FUD zu verstecken.

    Re:xml hin, xml her... (Score:1)
    Von ia97lies am Wednesday 02. July, 08:50 MES (#18)
    (User #890 Info)
    XML finde ich toll auch mit grottigem C :-))
    Expat lässt grüssen, damit hat man in Nullkommagarnix einen XML Parser am laufen.

    XML ist nicht schwierig und Mensch lesbar/editierbar, man kann auch einfach ein GUI für bauen oder sonst tolle Sachen daraus basteln - braucht sich ja nur den entsprechenden Parser zu bauen...

    z.B. die Beschreibung einer GUI in XML, da kann ich dann ein ASCII GUI Parser machen einen HTML GUI Parser ein GNOME GUI Parser und was weiss der Teufel noch so alles.

    Grüss, ia97lies
    Re:xml hin, xml her... (Score:2)
    Von P2501 am Wednesday 02. July, 09:50 MES (#19)
    (User #31 Info) http://www.p2501.ch/

    Blödsinn. XML ist auch in C einfach zu parsen. Das Problem liegt woanders:

    In der UNIX-Welt ist punkto Konfiguration der Texteditoren-Ansatz verbreitet. Man hat ein Konfigfile, welches von Hand editiert wird. Mittlerweile ist auch der Doppelansatz verbreitet: Handeditierbares Konfigfile plus Konfig-GUI.

    Das Problem mit XML ist, das es sehr einfach von Programmen gelesen und generiert werden kann, Das lesen und schreiben von Hand jedoch recht mühsam ist. Zum einen, weil XML prinzipiell alles hierarchisch speichert, der Mensch aber flache Strukturen gewohnt ist. Zum anderen, weil XML sehr strenge Regeln hat, von denen auch Profis nicht immer alle kennen, und die zum Teil für Konfigurationsdateien schlicht keinen Sinn machen.

    Als Beispiel nenne ich mal Ogle, ein netter DVD-Player für Linux. Als ich eine Weile das DVD-Laufwerk nicht, wie üblich, auf "/dev/dvd" hatte, wollte ich das im Konfigfile entsprechend ändern. Als ich aber den Eintrag suchte, blickte ich bei der Struktur nicht durch, obwohl ich durchaus in XML bewandert bin. Schliesslich machte ich einfach ein Suchen und Ersetzen auf /dev/dvd.


    --
    If it's GNU/Linux, it's GNU/BSD, too ;-)

    Besser eine Skriptsprache wie Guile verwenden (Score:2, Tiefsinnig)
    Von voegelas am Tuesday 01. July, 10:21 MES (#5)
    (User #346 Info) http://home.pages.de/~voegele/
    Ich halte es für keine gute Idee, XML für Konfigurationsdateien verwenden zu wollen. Mit einer integriebaren Skriptsprache wie Guile oder Perl kann man Programme viel flexibler konfigurieren, da der ganze, erweiterbare Sprachumfang zur Verfügung steht und man nicht auf ein vordefiniertes, in der Regel nicht erweiterbares XML-Format angewiesen ist.

    Wenn man zum Beispiel unter XFree86 das Antialiasing von Zeichensätzen mit einer Größe von mehr als 8 und weniger als 15 Punkten abschalten will, sieht das in XML so aus:

    <match target="font">
     <test qual="any" name="size" compare="more">
      <int>8</int>
     </test>
     <test qual="any" name="size" compare="less">
      <int>15</int>
     </test>
     <edit name="antialias" mode="assign">
      <bool>false</bool>
     </edit>
    </match>

    Diese Lösung ist meiner Meinung nach ziemlich hirnrissig. Mit einer Skriptsprache könnte man das einfacher lösen:

    (if (and (> font-size 8) (< font-size 15))
     (set! font-anti-alias #f))

    Ich schätze es sehr, dass ich den Emacs vollkommen frei mit Emacs Lisp konfigurieren kann. Vor allem mit Blick auf Geräte, die häufig in verschiedenen Netzen betrieben werden, ist eine flexible Konfigurationsmöglichkeit sinnvoll. Mit einer vernünftigen Skriptsprache kann man zum Beispiel problemlos bildschirm- oder netzwerkabhängige Einstellungen vornehmen:

    (cond
     ((< display-width 1024) ...)
     ((string=? "foo.bar.com" (system-name)) ...))

    Der einzige Vorteil von XML-Dateien, den ich sehen kann, ist, dass man sie in einem speziellen Editor bearbeiten und mit Hilfe einer DTD oder eines Schemas auf Korrektheit überprüfen kann.

    Re:Besser eine Skriptsprache wie Guile verwenden (Score:1)
    Von gabisoft am Tuesday 01. July, 10:35 MES (#6)
    (User #881 Info) http://gabisoft.ch.vu/
    Ja, wenn es EINE Scriptsprache für alle Configfiles gäbe, wäre das Problem ja gelöst. Oder wenn man eine Library mit allen Config Funktionen der Appliktaionen machen würde, wäre ja auch toll. Aber das ist dann wieder sehr schwierig mit den verschiedenen Lizenzen.
    Re:Besser eine Skriptsprache wie Guile verwenden (Score:2)
    Von brummfondel am Tuesday 01. July, 11:12 MES (#7)
    (User #784 Info)
    Hallo? Eine Script-Sprache als Config-File?? Wird dadurch nicht etwas viel Flexibilität bzw. Fehlermöglichkeit von der Anwendung in die Hand des Anwenders gelegt?

    Ein simples "configtoken=configvalue" reicht doch nun wirklich, wobei der Value ja durchauch komplexe Scripte enthalten kann - die aber dann im Programm etwas bewirken und nicht in der Konfiguration.

    Schon alleine wenn man eine GUI schreiben will, um so ein File zu bearbeiten läuft das bei solchen Script-Configs nur zu sinnlosen Textboxen.

    Randbemerkung: ein Studienkollege hat sowas in seiner Diplom- oder Projektarbeit mal versucht: einen generellen Parser der ein Config-File anhand einstellbarer Regeln liest und schreibt und die Werte in einer GUI (X oder Web oder ....) darstellt. Er wollte sowas wie linuxconf nur flexiebler, da dort ja scheinbar für jede Funktion alles nochmal neu geschrieben wird. Er wollte das auf das Schreiben eines Config-Configfiles beschränken.

    Summe: eine Konfig soll doch etwas einstellen, nämlich einen Wert für eine Funktion, der Syntax ist da halt austauschbar, aber sie laufen bei den klassischen Files meist auf "key value" oder "key=value" hinaus, letzterer hat vor allem bei Verwendung mit Shell-Scripte Vorteile (-> sourcen). Parsen ist auch leicht.

    --
    $ cd /dos/c/MICROSO~1
    $ rm -rf *
    Re:Besser eine Skriptsprache wie Guile verwenden (Score:1)
    Von gabisoft am Tuesday 01. July, 11:33 MES (#8)
    (User #881 Info) http://gabisoft.ch.vu/
    Oder eben Config nach Mozilla Art:
    pref("xy.size", 7);
    Re:Besser eine Skriptsprache wie Guile verwenden (Score:2)
    Von brummfondel am Tuesday 01. July, 11:56 MES (#9)
    (User #784 Info)
    Kommt aufs selbe raus.
    --
    $ cd /dos/c/MICROSO~1
    $ rm -rf *
    Re:Besser eine Skriptsprache wie Guile verwenden (Score:1)
    Von voegelas am Tuesday 01. July, 14:56 MES (#11)
    (User #346 Info) http://home.pages.de/~voegele/
    Eine Script-Sprache als Config-File?? Wird dadurch nicht etwas viel Flexibilität bzw. Fehlermöglichkeit von der Anwendung in die Hand des Anwenders gelegt? [...] Schon alleine wenn man eine GUI schreiben will, um so ein File zu bearbeiten läuft das bei solchen Script-Configs nur zu sinnlosen Textboxen.

    Falsch. Unbedarfte Benutzer können trotzdem eine Oberfläche verwenden, um ein Programm zu konfigurieren. Der Emacs speichert die über die grafische Oberfläche vorgenommenen Einstellungen zum Beispiel in einer bestimmten Sektion in der .emacs. Die vom Benutzer selbst programmierten Teile der Datei bleiben davon unberührt:

    ; Settings written by user
    (cond
     ((string=? "foo.com" (system-name))
      (setq user-mail-address "andreas@foo.com"))
     ((string=? "bar.net" (system-name))
      (setq user-mail-address "andreas@bar.net")))

    ; Settings stored by Emacs
    (custom-set-faces
     '(diary-face ((t :foreground "CornflowerBlue")))))

    Summe: eine Konfig soll doch etwas einstellen, nämlich einen Wert für eine Funktion, [...] aber sie laufen bei den klassischen Files meist auf "key value" oder "key=value" hinaus [...]

    Klassische Konfigurationsdateien muss man bei Geräten, die häufig in verschiedenen Netzwerken betrieben werden, aber ständig ändern oder umkopieren. Das kann man zwar mit einem Skript machen, aber dann muss man eine oder sogar mehrere Konfigurationsdateien und ein Skript schreiben. Ich ziehe es vor, das in einer Datei zu machen.

    Klassische Konfigurationsdateien, zum Beispiel die von Gnome, haben häufig auch den Nachteil, dass Pfadnamen häufig nicht unter Verwendung von $USER und $HOME bzw. ~, sondern mit absoluten Pfadnamen wie /home/andreas/.gnome/sucks gespeichert werden, so dass man die Konfigurationsdateien nicht einfach nach /etc/skel oder in ein anderes Benutzerverzeichnis umkopieren kann. Probleme gibt es durch die absoluten Pfadnamen ausserdem, wenn man ein gewachsenes, heterogenes Netz, in dem die Heimverzeichnisse an verschiedenen Stellen liegen, betreibt. Mit einer richtigen Programmiersprache als Konfigurationssprache könnte man diese Probleme ohne größeren Aufwand lösen.

    Re:Besser eine Skriptsprache wie Guile verwenden (Score:2)
    Von P2501 am Tuesday 01. July, 15:51 MES (#12)
    (User #31 Info) http://www.p2501.ch/

    Vom Komfortaspekt mag ich dir recht geben, aber der Sicherheitsmensch in mir sagt, dass Konfiguration und Skript möglichst sauber getrennt bleiben sollten[1]. Skriptsprachen sind für Konfigurationsarbeiten im allgemeinen "zu mächtig". Damit bieten sie die Möglichkeit, vom Nutzer unerwünschte Funktionen (Viren / Würmer / Trojaner) in Konfigurationsdateien zu verstecken. Nicht vergessen: Makroviren wurden in Word unter anderem darum zum Problem, weil die Makrosprache sehr mächtig ist. Der zweite Hauptauslöser war die Möglichkeit, beim Programmstart vom Benutzer unbemerkt ein Makro starten zu können, was mit programmierbaren Konfigurationsdateien vergleichbar ist.

    Klassische Konfigurationsdateien, zum Beispiel die von Gnome, haben häufig auch den Nachteil, dass Pfadnamen häufig nicht unter Verwendung von $USER und $HOME bzw. ~, sondern mit absoluten Pfadnamen wie /home/andreas/.gnome/sucks gespeichert werden

    Wie du selbst schreibst ist es ein Problem der absoluten Pfadnamen, lässt sich also in den meisten Fällen mit relativen Pfadnamen umgehen.

    [1] Spezialfälle wie Init-Skripte mal aussen vor.


    --
    If it's GNU/Linux, it's GNU/BSD, too ;-)

    Re:Besser eine Skriptsprache wie Guile verwenden (Score:1)
    Von voegelas am Tuesday 01. July, 16:49 MES (#13)
    (User #346 Info) http://home.pages.de/~voegele/
    Skriptsprachen sind für Konfigurationsarbeiten im allgemeinen "zu mächtig". Damit bieten sie die Möglichkeit, vom Nutzer unerwünschte Funktionen (Viren / Würmer / Trojaner) in Konfigurationsdateien zu verstecken.

    Diese Möglichkeit besteht im Falle von Dateien wie .bashrc und .xsession aber sowieso schon. Wenn man dieses Konzept ausweitet, ändert sich an der (Un-)Sicherheit des Systems nichts wesentliches.

    Vollkommene Sicherheit vor der von Dir beschriebenen Angriffsmöglichkeit könnte man, so wie ich das sehe, nur erreichen, wenn einem Benutzer selbst keine einzige ausführbare Datei gehören düfte; ein Angreifer also priviligierten Zugriff erhalten müsste, um ausführbare Dateien manipulieren zu können. Sinnvoller ist es wohl, dafür zu sorgen, dass Dateien die aus unsicheren Quellen kommen, "gefährliche" Kommandos nicht ausführen dürfen.

    Re:Besser eine Skriptsprache wie Guile verwenden (Score:2)
    Von brummfondel am Tuesday 01. July, 17:24 MES (#14)
    (User #784 Info)
    Diese Möglichkeit besteht im Falle von Dateien wie .bashrc und .xsession aber sowieso schon. Wenn man dieses Konzept ausweitet, ändert sich an der (Un-)Sicherheit des Systems nichts wesentliches.

    Diese machen auch auch nichts anderes, als irgendwelche Parameter setzen, zumeist im Environment ($PS, $PATH, etc.). Und wie Du selbst schon sagt, besteht die Gefahr dort schon - aber das sollte dann auch reichen.

    Man stelle sich vor, jedes Programm würde erstmal sein eigenes Config-Script (in einer eigenen Sprache!!) starten - wäre ja noch komplizierter und vor allem schwerer zu warten. Es sind doch nur eine Handvoll Leute, die solche Funktionen wirklich brauchen, dem Rest reicht es einfach oder gar noch besser einfach per GUI. Warum muß das Konfig-File retten, was das Programm nicht bereits kann? Kenn das aus eigener Erfahrung mit SW-Entwicklung. Je komplizierter, desto weniger nutzen es und desto mehr Fragen.

    Mit den Pfaden mag ja stimmen, aber das ist ein Problem des Programms, das würde ein Konfig-File mit Script auch nicht ändern - man müßte also auch wieder Hand anlegen, nur daß es nicht mehr so einfach ist.

    Und die Sicherheit ist ja eh so ein Thema, was ein Programm nur darf und nachher doch kann, sind verschiedene Sachen.


    --
    $ cd /dos/c/MICROSO~1
    $ rm -rf *
    Re:Besser eine Skriptsprache wie Guile verwenden (Score:2)
    Von P2501 am Wednesday 02. July, 09:59 MES (#20)
    (User #31 Info) http://www.p2501.ch/

    Ummm.... Das ist dieselbe Argumentation, wie sie von den als-root-arbeitern, unter-windows-keinen-virenscanner-benutern, standardpasswort-belassern usw. verwendet wird: "Das System ist eh nicht völlig sicher, warum sich also nicht?"

    Nur weil eine Sicherheitsschwachstelle besteht, heisst dass noch lange nicht, dass man sie fahrlässig ausweiten muss, oder? ;-)


    --
    If it's GNU/Linux, it's GNU/BSD, too ;-)

    Re:Besser eine Skriptsprache wie Guile verwenden (Score:1)
    Von voegelas am Wednesday 02. July, 11:00 MES (#21)
    (User #346 Info) http://home.pages.de/~voegele/
    Nur weil eine Sicherheitsschwachstelle besteht, heisst dass noch lange nicht, dass man sie fahrlässig ausweiten muss, oder?

    Dass Benutzer ausführbare Dateien wie die .bashrc besitzen können, ist keine Schwachstelle, sondern eine notwendige Designentscheidung.

    Du setzt bei der Sicherheit meiner Meinung nach an der vollkommen falschen Stelle an. Anstatt Benutzer einzuschränken, muss man dafür sorgen, dass Angriffsversuche - die sich nie vermeiden lassen - erkannt werden und die Auswirkungen auf das Gesamtsystem bei einem Einbruch gering bleiben. Ich halte es zum Beispiel für sinnvoll Download- und E-Mail-Filter, die verhindern, dass ausführbare Programme aus unsicheren Quellen auf einen Rechner gelangen können, einzusetzen.

    Mir ist weiterhin kein Fall bekannt, in dem .bashrc oder .emacs Dateien manipuliert wurden. Es scheint nun mal nicht so zu sein, dass Benutzer über das Netz versandte Konfigurationsdateien ohne Begutachtung übernehmen. Du konstruierst hier ein Sicherheitsproblem, dass in der Praxis von geringer Bedeutung zu sein scheint.

    Ummm.... Das ist dieselbe Argumentation, wie sie von den als-root-arbeitern, unter-windows-keinen-virenscanner-benutern, standardpasswort-belassern usw. verwendet wird: "Das System ist eh nicht völlig sicher, warum sich also nicht?"

    Das ist doch Quatsch. Du scheinst davon auszugehen, dass immer und überall mit dem dümmsten anzunehmenden Benutzer zu rechnen ist, den man vor sich selbst schützen muss. Das ist aber nicht der Normalfall. Die meisten Benutzer sind sehr wohl in der Lage verantwortlich mit Ihrem Computer umzugehen.

    Ich denke, dass man hier eine Analogie zum Strassenverkehr ziehen kann. Obwohl alle Verkehrsteilnehmer irgendwann gelernt haben, wie man sich im Strassenverkehr zu verhalten hat, lassen sich Unfälle nicht vermeiden, weil ein vollkommen sicheres System nicht praktikabel wäre. Durch Ausbildung und das Ansetzen an den richtigen Stellen, lässt sich das Unfallrisiko aber verringern.

    Re:Besser eine Skriptsprache wie Guile verwenden (Score:2)
    Von P2501 am Wednesday 02. July, 13:33 MES (#23)
    (User #31 Info) http://www.p2501.ch/

    .bashrc ist ein Angriffsziel erster Güte, und steht bei mir aus gutem Grund auf der Tripwire-Liste. Ebenso wie alle anderen ausführbaren Konfigrationsdateien auch.

    "Auf dem Weg ist eh kein Angriff zu erwarten" und "Der Benutzer ist nicht so dumm, sich hier falsch zu verhalten" Sind zwei Sätze, die ich so oder ähnlich immer wieder mal höre. Man könnte sie auch als "berühmte letzte Worte des Sysadmins" umschreiben, denn sie sind ein klarer Verstoss gegen jeweils ein Prinzip der Sicherheitstechnik: "Angriffe sind immer da zu erwarten, wo eine Schwachstelle ist" und "Der Benutzer macht immer Fehler". Darum besteht ein wesentlicher Teil jedes Sicherheitskonzept darin, denn Benutzer zu schulen, aber auch, seinen Spielraum genau so weit zu fassen, dass er nicht behindert wird, dass aber seine Fehler gleichzeitig möglichst wenig Schaden anrichten.

    PS: Die wenigsten Benützer können wirklich mit ihren Computern umgehen. Wen dem anders wäre, hätten Mailwürmer niemals die heutige Verbreitung.

    PPS: Dein Vergleich mit dem Strassenverkehr zieht nicht. Anzahl und Folgen der Strassenunfälle sind IMHO inakzeptabel.


    --
    If it's GNU/Linux, it's GNU/BSD, too ;-)

    Re:Besser eine Skriptsprache wie Guile verwenden (Score:0, Unruhestifter)
    Von tbf am Tuesday 01. July, 23:01 MES (#17)
    (User #21 Info) http://taschenorakel.de/
    Ganz toll! Skriptsprachen zum konfigurieren. Auf sowas kommen aber auch nur Eierköppe, die Emacs für ein tolles Programm halten. Sicher stehst Du dann auch auf Config-File-Viren ("All your filez are belong to us!"). Und ist ja auch ganz grandios bei jedem Furz erst mal tausend Zeilen krypto-Code durch den Interpreter jagen zu müssen... Held. Und bei Heise schreisst Du dann aber bei jedem Word-Macro-Virus: "Mit Linux wäre das nicht passiert".
    Noch was zum Thema Lesbarkeit und Lisp: Dass wir hier in Westeuropa üblicherweise Infixnotation nutzen, ist ja auch vollkommen egal. Muss jedenfalls sagen: Die XML-Syntax mag ja langatmig sein. Aber sie ist auf anhieb verständlich. Dein elitäres Lisp-Gekritzel entschlüsselt sich nur jenem, der überhaupt schon mal was vom Konzept Prefix-Notation gehört hat.
    Re:Besser eine Skriptsprache wie Guile verwenden (Score:1, Informativ)
    Von Anonymer Feigling am Wednesday 02. July, 12:00 MES (#22)

    Da ist wohl jemand frustriert darüber, dass er Emacs nicht bedienen/konfigurieren kann...

    Was soll diese sinnlose Lisp, Emacs und Emacs-User "gebashe"?

    Ich persönlich habe viel lieber eine Konfigdatei in Bash, Lisp oder von der Art wie sie logrotate und xinetd benutzen, als bloated XML, wie z.B. httpd.conf von Apache.


    xml ungeeignet für config files (Score:2, Interessant)
    Von Patrick Huber am Thursday 03. July, 09:29 MES (#24)
    (User #1253 Info)
    meiner meinung nach ist xml gänzlich ungeeignet für die meisten config files. xml macht sinn, wenn man strukturierte daten hat.

    für das meiste reicht das format
    string=wert
    config files in diesem format können z.b. problemlos von der klasse Properties in java geladen werden und auch in c ist der umgang mit diesen files relativ einfach.

    xml hat seinen platz in config files wenn man config files von ant oder tomcat hat. das ist ein sinnvoller einsatz von xml in config files, weil hier eine struktur gebildet werden kann.

    einfach ein root knoten und 1 level subnodes ist ziemlicher blödsinn

    Linux User Group Schweiz
    Durchsuche symlink.ch:  

    Never be led astray onto the path of virtue.
    trash.net

    Anfang | Story einsenden | ältere Features | alte Umfragen | FAQ | Autoren | Einstellungen