user in eine Gruppe aufnehmen



  • Hallo.
    Ich versuche wie folgt einen user in einen Gruppe aufnehmen:

    usermod -A uucp marcin
    

    oder

    usermod -G uucp marcin
    

    Aber es funktioniert nicht. Ist es richtig so?
    Wenn nicht wie nehmt man einen user in eine Gruppe auf ?

    Wäre dankbar wenn mir jemand helfen könnte.



  • Marcin schrieb:

    Aber es funktioniert nicht. Ist es richtig so?

    Ne, funktioniert ja auch nicht 😉

    Mit deinem "usermod -G" dürftest du dir den Benutzer marcin erstmal zerschossen haben, weil der jetzt nur noch der Gruppe uucp gehören sollte und nicht mehr den anderen, denen er vorher gehört hat (welchen Gruppen der aktuell eingeloggte User angehört verrät dir der Befehl "groups"). "usermod -G uucp -a marcin" wäre richtig gewesen, das wird dir aber die defekten Gruppenzugehörigkeiten für marcin auch nicht mehr wiederherstellen.
    Ansonsten helfen dir die Manpages zu adduser, useradd und usermod weiter, die du auf der Konsole mit "man adduser", "man useradd" und "man usermod" erreichst.



  • Normalerweise verwendet man für sowas einfach gpasswd(1) (falls verfügbar):

    gpasswd -a user gruppe
    


  • @tommie-lie
    Ja du hast in sofen recht das der user nur der gruppe uucp angehört. Das ist hier aber Gott sei nicht schlimm.
    Allerdings kennt usermod hier die Option -a nicht. Und ein Ersatz habe ich in man-pages nicht gefunden.

    @nman
    Leider kennt hier gpasswd nur die Option -r.

    Ich habe das dann so gemacht, dass ich bei usermod alle Gruppen aufgelistet habe den der user angehören soll.

    Danke für die Antworten



  • Marcin schrieb:

    Allerdings kennt usermod hier die Option -a nicht.

    Eigenartig. Welche Distribution? Syntaktish muss -a unbedingt hinter -G und den Gruppen stehen, also "-G GRUPPEN -a", so wie ich es angegeben habe. Funktioniert bei mir (Ubuntu Dapper Drake, also Debian) problemlos.
    "adduser marcin uucp" hätte's auch gebracht, das scheint aber nicht in allen Distributionen vorhanden zu sein (kurze Google-Suche ergab, daß es mindestens Ende 2004 nicht in SuSE war).



  • tommie-lie schrieb:

    Marcin schrieb:

    Allerdings kennt usermod hier die Option -a nicht.

    Eigenartig. Welche Distribution? Syntaktish muss -a unbedingt hinter -G und den Gruppen stehen, also "-G GRUPPEN -a", so wie ich es angegeben habe.

    Hm, das -a kenne ich auch nicht. Ist weder in passwd-4.0.3-31sarge5 (Debian), noch in sys-apps/shadow-4.0.7-r4 (Gentoo), noch im usermod von aktuellen HP-UX-Versionen enthalten.

    Marcin schrieb:

    Leider kennt hier gpasswd nur die Option -r.

    Was ist "hier"? 🙂

    Hauptsache, es hat geklappt.



  • Was ist "hier"?

    Ähm, mein Rechner bzw. Suse Linux 10.1

    adduser

    Auf Suse gibt es nach wie vor kein adduser. Und wie gesagt usermod scheint -a nicht zu kennen.
    Es gibt bei usermod noch die Option -A:

    usermod --help schrieb:

    -A group,... List of groups the user should be added to

    useradd hat auch die Option -G, die genau so funktioniert wie bei usermod.

    Naja, es gibt wohl einige Unterschiede zu Debian. Eigentlich schade das es so ist.



  • oder einfach direkt in /etc/group eintragen... kann man auch nicht viel falsch machen und kommt aufs gleiche raus



  • Marcin schrieb:

    Auf Suse gibt es nach wie vor kein adduser.

    Tja, SuSE halt 🙂 Ich fand die add*-Tools immer einfacher als die *add-Tools.

    Marcin schrieb:

    Es gibt bei usermod noch die Option -A:

    Nicht bei mir. Scheint aber die gleiche Bedeutung zu haben wie mein "-G + -a".

    Marcin schrieb:

    Naja, es gibt wohl einige Unterschiede zu Debian. Eigentlich schade das es so ist.

    Die Administration eines Systems ist immer Abhängig vom System, der entsprechende Administrator muss sich damit vertraut machen. Die Distributionen haben noch andere Unterschiede als lediglich ein fehlendes Hilfsprogramm.

    nman schrieb:

    Hm, das -a kenne ich auch nicht. Ist weder in passwd-4.0.3-31sarge5 (Debian), noch in sys-apps/shadow-4.0.7-r4 (Gentoo), noch im usermod von aktuellen HP-UX-Versionen enthalten.

    thomas@Majestix:~$ dpkg -L passwd |grep `which usermod`
    /usr/sbin/usermod
    thomas@Majestix:~$ dpkg -s passwd
    Package: passwd
    Status: install ok installed
    Priority: required
    Section: admin
    Installed-Size: 1900
    Maintainer: Shadow package maintainers <pkg-shadow-devel@lists.alioth.debian.org>
    Architecture: i386
    Source: shadow
    Version: 1:4.0.13-7ubuntu3.2
    [...]
    thomas@Majestix:~$
    

    4.0.13 scheint's zu haben. Ich habe mir mal den Source geholt und in debian/changelog nach "append" gegrept, keine Ergebnisse, scheint also kein zusätzlicher Patch durch die Debianisierung zu sein. In debian/patches/ finde ich auch keinen Patch, dessen Namen mir nach dem Hinzufügen dieser Option klingt. Was in shadow_4.0.13-7ubuntu3.2.diff.gz steht, sieht mir nur nach einem geänderten Parsen der Kommandozeilenparameter aus, im Quellcode gab's auch vorher schon die Variable aflg.
    Warum das auf deinen Systemen nicht existiert, weiß ich nicht, bis 4.0.7 habe ich keinen Eintrag im Changelog gefunden, der die Diskrepanz erklären würde.



  • tommie-lie schrieb:

    thomas@Majestix:~$ dpkg -L passwd |grep `which usermod`
    /usr/sbin/usermod
    

    Autsch. Hast Du dpkg -S gesucht? 🙂

    Warum das auf deinen Systemen nicht existiert, weiß ich nicht, bis 4.0.7 habe ich keinen Eintrag im Changelog gefunden, der die Diskrepanz erklären würde.

    Naja, ist offensichtlich nicht gut dokumentiert. Bin jetzt zuhause, da habe ich ein 4.0.15er-Shadow, da klappt das auch. In Sarge ist das allerdings nicht so aktuell.

    Alles in allem mehr als genug Gründe, das so zu handhaben, wie von DrGreenthumb vorgeschlagen, auch wenn das nicht immer sonderlich elegant ist.



  • hab mal ein altes script von mir rausgeholt vielleicht hifts dir ja...

    clear
    echo "          USER ERSTELLUNGS-PROGRAMM VON CIRO            "
    echo "********************************************************"
    echo "* User und Passwort für Ciro's Umgebung wird erstellt...*"
    echo "********************************************************"
    echo "  Bitte geben sie ihre Eingabe so ein: <n> <neuerUser>  "
    echo ""
    echo ""
    useradd -d /home/"$1" -m "$1"
    passwd "$1"
    


  • Die Sache ist zwar schon längst erledigt und eigentlich, wie man in vorigen Beiträgen nachlesen kann, ging es darum einen schon existirenden User in eine Gruppe auf zu nehmen, aber trotzten vielen Dank.


Anmelden zum Antworten