Login
Newsletter
Werbung

Thema: Diskussion um fehlerhafte Behandlung von Benutzernamen in Systemd

56 Kommentar(e) || Alle anzeigen ||  RSS
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
2
Von Don't Know am Di, 4. Juli 2017 um 10:10 #

Was mir schon komisch vorkommt, ist das Konzept, einen Dienst als root auszuführen, wenn der Nutzername falsch ist.

Kann evtl. jemand erklären, was der Vorteil/Sinn davon ist?

[
| Versenden | Drucken ]
  • 2
    Von Anonymous am Di, 4. Juli 2017 um 10:19 #

    Das liegt daran, dass jeder Dienst erst mal als root läuft, wenn kein User spezifiziert ist. Das ist nicht nur bei Systemd so. Mann muss nirgendwo root angeben, wenn der Dienst als root laufen soll. Wenn ich keinen User angebe, dann läuft der Dienst als root. Und wenn Systemd der Meinung ist, der User sei ungültig, dann ist das so, als wäre keiner angegeben.

    Das ist ein Punkt, wo Poettering eigentlich richtig liegt. Eindeutig falsch liegt er aber damit, dass er eigenmächtig Namen nicht akzeptiert, die auf dem Rechner problemlos funktionieren.

    [
    | Versenden | Drucken ]
    • 1
      Von Jürgen Sauer am Di, 4. Juli 2017 um 10:30 #

      IMHO sollte systemd nach dem fork zum starten einer neuen unit erstmal (vgl. man 2 setuid) auf den User ausführen.

      Als zweites sollte das Return von setuid() gepprüft werden, ggfls. ein unit fail.

      Alles andere ist verantwortungslos.

      [
      | Versenden | Drucken ]
      • 1
        Von p90 am Di, 4. Juli 2017 um 11:00 #

        Auf welchen User den?
        Das ist ein Service, der wird vom System gestartet. Soll Systemd einfach mal zufällig einen Benutzer auswählen statt root?

        [
        | Versenden | Drucken ]
        1
        Von ich am Di, 4. Juli 2017 um 20:45 #

        Was das wohl für ein Geschrei geben würden, wenn ein zukünftiger Fehler in einer System-Bibliothek durch systemd getriggert werden könnte, weil Daten aus einer Konfigurationsdatei ungeprüft an System-Aufrufe durchgereicht werden. :x

        [
        | Versenden | Drucken ]
      1
      Von cyberpatrol am Mi, 5. Juli 2017 um 13:22 #

      Das liegt daran, dass jeder Dienst erst mal als root läuft, wenn kein User spezifiziert ist.
      In diesem Fall wurde aber ein User spezifiziert, der aber von systemd ignoriert wurde. Und das ist nicht zulässig und wird auch sonst außer bei systemd nirgendwo so gehandhabt.

      [
      | Versenden | Drucken ]
    2
    Von Jürgen Sauer am Di, 4. Juli 2017 um 10:25 #

    Keiner.
    Aber daß schert Mr. "Arroganzia" Lennert ja nicht.

    Nach anfänglicher Einarbeitungsphase finde ich systemd ja sogar ganz gut.

    Mich stören nur die manigfaltigen Bugs.
    Sehr, sehr viele Bugs werden ja nicht mehr bearbeitet.
    z.B.: dieser hier: https://github.com/systemd/systemd/issues/1401#issuecomment-310968246

    Der Bug macht es nahezu unmöglich systemd Distributionen in professionellen Umgebungen einzusetzen. Das Support Telefon steht kaum still.

    Weitere Super Nerv Bugs:
    die Netzwerk Einrichtung mit Systemd ist eine Bughölle:
    - systemd-networkd behandelt bridged interfaces falsch. (Linkdetection, IPv6, Adresszuweisung).
    - systemd-networkd findet in 50% aller Fälle nicht die den Link einer Netzwerkkarte
    - systemd-mountd ist verbuggt in Punkto Remote Filesystems

    Das Systemd Team kommt der Bugliste nicht hinterher:
    https://github.com/systemd/systemd/issues
    611 offene Bugs heute morgen sprechen Bände

    Ich kann mich nicht des Eindrucks nicht erwehren, das Systemd aussliesslich via Ein-Mann Show Entwickler auf einem Single Notebook ohne Remotefilesystem und ohne komplexe Netzwerk Setups von dem Entwickler getestet wird...

    [
    | Versenden | Drucken ]
    • 2
      Von Stimmt am Di, 4. Juli 2017 um 13:16 #

      Ich kann mich nicht des Eindrucks nicht erwehren, das Systemd aussliesslich via Ein-Mann Show Entwickler auf einem Single Notebook ohne Remotefilesystem und ohne komplexe Netzwerk Setups von dem Entwickler getestet wird...

      Das glaub ich tatsächlich auch. Schon damals bei der Einführung bei pulseaudio und dessen Problemen bei Nutzung von nfs für home-Verzeichnisse, dachte ich, dass der/die Entwickler in ein einer ziemlich anderen Welt leben bzw. arbeiten.

      [
      | Versenden | Drucken ]
1
Von Anonymous am Di, 4. Juli 2017 um 10:28 #

Ich bin Slackware und ein bisschen das klassische SystemV-Init gewohnt. Wenn ich da irgendwelche Dienste abschalten will, weil ich sie nicht brauche, finde ich eine gewisse Ordnung vor, weil die Dienste in Startskripten zusammengefasst bzw. in Runleveln organisiert sind.

Auf einem Raspberry Pi bin ich mit systemd konfrontiert. Unter den Tools habe ich nur welche gefunden, die eine "flache" Ansicht auf die Daemons bieten, also keine hierarchische Ansicht, in der man erkennen kann, wie die Dienste voneinander abhängen.

Systemd erinnert mich insofern doch arg an Windows mit seiner Diensteansicht - 70 Dienste mit mehr oder wenigen kryptischen Namen, bei jedem steht der stereotype Hinweis: "Wenn sie diesen Dienst deaktivieren, werden alle von ihm abhängigen Dienste nicht mehr funktionieren." Sehr hilfreich ;)

Gibts da unter systemd auch nix besseres? Ich habe versucht, mich einzulesen, aber schnell aufgegeben, weil man mit Tonnen von Text beworfen wird, die alles mogliche erklären, aber nicht das zweckmäßige Vorgehen.

Wie geht man vor, wenn man irgendeinen Dienst mit einem kryptischen Namen vorfindet und nicht weiss, ob man irgendwas wichtiges wegschiesst, wenn man den deaktiviert?

[
| Versenden | Drucken ]
1
Von needle am Di, 4. Juli 2017 um 10:36 #

...immer wieder das Gleiche. Erst einmal groß labern. Wenn man keine Ahnung hat, dann sollte man zuerst nachlesen, oder zumindest sagen dass man das momentan nicht weiss. Aber er ist unbelehrbar, der hört sich gerne sprechen. Ich sage nicht dass er nicht kompetent ist in dem was er so bisher gemacht hat, aber er labert immer zuerst. Und kann auch nicht zugeben dass er Sachen nicht weiss zum Zeitpunkt, genauso sein Kollege diese "Primadonna" sein Name ist mir entfallen, und die Energie ist mir zu Schade um das mal in der Suchmaschine nachzuschauen. Da haben sich zwei gefunden...

Naja, genug der Kritik. Bringt sowieso nichts bei den Beiden.

mfg
the_needle

[
| Versenden | Drucken ]
  • 1
    Von p90 am Di, 4. Juli 2017 um 11:04 #

    Auf was beziehst du dich den?
    Auf das "Benutzernamen dürfen nicht mit einer Zahl anfangen"?
    1. Sagt er doch sogar das er keine Quelle dafür gerade hat
    2. Ist die Frage ob ein Username mit einer Zahl beginnen darf oder nicht nicht so einfach zu klären. Klar kann man sagen, "POSIX erlaubts!" und sich dann nicht um die userid vs username Problematik kümmern. Oder man macht das, was die meisten Linuxdistributionen in den letzten 20 Jahren empfohlen haben und lässt keine Usernamen mit einer Zahl am Anfang zu.

    [
    | Versenden | Drucken ]
    • 1
      Von needle am Di, 4. Juli 2017 um 11:30 #

      Bitte einmal den Betreff durchlesen, dann nachdenken, dann ist hoffentlich klar worauf, bzw. auf wen ich mich beziehe. Hier geht es um eine Person, nicht um ihre Fähigkeiten, und auch nicht um Programme die sie entwickelt hat.

      :)

      Dieser Beitrag wurde 1 mal editiert. Zuletzt am 04. Jul 2017 um 11:31.
      [
      | Versenden | Drucken ]
      1
      Von Stormking am Di, 4. Juli 2017 um 15:24 #

      Pro:


      • POSIX erlaubt's

      • die LSB sagt dazu gar nichts

      • dem Kernel ist es egal


      Contra:

      • ein einziges Tool verbietet es per Default

      • dieses Verhalten kann aber auf Einzelfallbasis deaktiviert bzw. durch eine Konfigurationsänderung durch komplett eigene Regeln (in Form einer Regex) geändert werden


      Hmm, sorry, aber ganz so eindeutig wie Du es darstellst, ist die Sache nicht.

      [
      | Versenden | Drucken ]
    1
    Von Anonymous am Di, 4. Juli 2017 um 11:19 #

    Zeigt man mit dem Finger auf andere, zeigen 3 Finger auf einen selbst zurück.

    Ein Rant sagt oft mehr über den Ranter als über den Geranteten (verzeih' bitte das Denglisch).

    [
    | Versenden | Drucken ]
1
Von Trux am Di, 4. Juli 2017 um 16:01 #

Das Thema ist ein guter Anlass für eine Konventionskonferenz, die sich um die Einhaltung von Standards und Instanzen kümmert.

Alternativ wird Linus ein Machtwort in seiner beliebten klaren Sprache sprechen müssen. Linus ist Meister darin, komplexe Probleme pragmatisch zu lösen.

Dass useradd Benutzernamen zulässt, die systemd nicht kennt und dann als root interpretiert, kann kein Dauerzustand sein.

Wer jetzt wem einen Vorwurf machen kann ist mir völlig Schnuppe. Pöttering so kompetent er auch ist, (tschuldigung) ein Idiot, weil er es nicht versteht, die Probleme auch als solche zu bezeichnen.
Im Grunde geht es doch nicht darum ob er Schuld ist oder nicht. Es geht noch nicht einmal um systemd.

Dass er sich weigert das in systemd zu korrigieren verstehe ich.
Allerdings sollte man das Problem nicht negieren.
Man sollte es beschreiben und klar zum Ausdruck bringen, dass der Fehler in der Anwendung unterschiedlicher Konventionen liegt und danach ein "Help, hier ist ein Problem" an die Community senden.

[
| Versenden | Drucken ]
  • 0
    Von schmidicom am Di, 4. Juli 2017 um 16:41 #

    Jo dafür wäre ich auch Dankbar...

    Alternativ wird Linus ein Machtwort in seiner beliebten klaren Sprache sprechen müssen. Linus ist Meister darin, komplexe Probleme pragmatisch zu lösen.
    Was das angeht kommt es mir des öfteren vor wie wenn zwei Kinder streiten und dann ein Erwachsener sagt: "Mir ist egal wer angefangen hat, ich bin derjenige der es beendet!" :lol:

    Dieser Beitrag wurde 1 mal editiert. Zuletzt am 04. Jul 2017 um 16:51.
    [
    | Versenden | Drucken ]
1
Von Potz Blitz am Mi, 5. Juli 2017 um 07:41 #

0day konnte ich unter Fedora problemlos anlegen, 007 war dagegen nicht erlaubt. 0.07 ging wiederum. Insgesamt empfand ich das Verhalten von useradd schon etwas bedenklich, da man haarscharf an eine Zahl herankommt.

[
| Versenden | Drucken ]
  • 0
    Von schmidicom am Mi, 5. Juli 2017 um 07:57 #

    Dieses verhalten dürfte wohl eher von dem einen oder anderen PAM-Modul kommen als von useradd selbst. Wirf mal einen Blick in die Datei "/etc/pam.d/useradd" da müsstest du schnell sehen welche Module Fedora bei der Verwendung von useradd lädt.

    [
    | Versenden | Drucken ]
    • 1
      Von Potz Blitz am Mi, 5. Juli 2017 um 08:16 #

      Bei mir gibt es zwar das Verzeichnis /etc/pam.d/ aber die Datei useradd fehlt.

      [
      | Versenden | Drucken ]
      • 0
        Von schmidicom am Mi, 5. Juli 2017 um 08:26 #

        Wenn useradd keine eigene PAM-Konfiguration hat soll es angeblich die von "/etc/pam.d/system-auth" verwenden, ob das aber stimmt weiß ich nicht genau.

        [
        | Versenden | Drucken ]
        • 1
          Von Potz Blitz am Mi, 5. Juli 2017 um 09:02 #

          system-auth verweist bei mir auf system-auth-ac und die Datei ist länglich. Am Anfang steht ein Hinweis, dass der Inhalt automatisch generiert wurde (von authconfig). Bei Interesse kann ich sie gerne hier posten.

          Meine Konfiguration müsste jedoch dem Fedora-Default entsprechen, da ich meine hier nichts geändert zu haben. So gesehen müsste ein Benutzername wie '0.07' auf allen (Standard-) Fedoras zulässig sein, oder?

          [
          | Versenden | Drucken ]
          • 0
            Von schmidicom am Mi, 5. Juli 2017 um 09:11 #

            Ich weiß nicht nach welchen Kriterien authconfig die PAM-Konfiguration zusammenstellt, könnte mir durchaus vorstellen das es von den installierten Paketen abhängt. Und daher wird es bereits hier schwierig zu sagen ob das bei allen Fedora Installationen gleich ist.

            [
            | Versenden | Drucken ]
        0
        Von schmidicom am Mi, 5. Juli 2017 um 08:26 #

        -

        Dieser Beitrag wurde 2 mal editiert. Zuletzt am 05. Jul 2017 um 08:26.
        [
        | Versenden | Drucken ]
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung