Benutzer kopieren

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,

    ist es möglich, einen Benutzer, bzw. ein Benutzerkonto zu kopieren, sodass die Kopie bis auf den Namen, den Pfad zum Homeverzeichnis und ggf. irgendwelche internen IDs gleich ist?

    Ich habe das aktuelle RP-OS mit dem Standardbenutzer "pi" installiert und konfiguriert und würde auf dieser Grundlage nun zwei "echte" Benutzerkonten anlegen, die die gleichen Einstellungen (Standardprogramme, Berechtigungen, Desktopeinstellungen, Taskkleisteneinstellungen, Browsereinstellungen...) haben.

  • Es gibt kein spezielles Kommando zum Klonen von Benutzern.

    Eine kurze Internet-Suche ergibt aber, dass diese Frage schon öfters gestellt und beantwortet wurde.

    Im Prinzip läuft es auf ein manuelles (oder per Script) Hantieren heraus:

    • neuen Benutzer anlegen
    • Kopieren des /home/alter-user nach /home/neuer-user
    • Umsetzen von Ownership und Rechten in /home/neuer-user
  • Ich hatte auch danach gesucht, aber nichts Brauchbares gefunden.

    Einen neuen Benutzer habe ich testweise angelegt und mit gnome-system-tools (kenne ich von Mint) habe ich den neuen Benutzer den gleichen Gruppen hinzugefügt, in denen auch der alte steckte. Das war allerdings eine ziemliche "Klickerei" und am Ende bleibt die Unsicherheit, ob man wirklich alles erwischt hat.

    Beim Umsetzen von Besitz und Rechten würde ich alleine ziemlich sicher scheitern. Eine einzelne Datei bekäme ich hin, aber zunächst wäre ich nicht sicher, ob wirklich ALLE Dateien/Ordner den gleichen Besitzstatus bräuchten und dann stolpere ich vermutlich darüber, dass es besondere Objekte (versteckte?) gibt. Bei der Verwendung von Wildccards muss man afaik aufpassen, dass die Konsole schon etwas interpretiert, oder so ähnlich.

    Kurzum, wenn es nur manuell geht, bräuchte ich eine ziemlich genaue Anleitung.

    Kannst du eine brauchbare empfehlen?

  • Bitte beachte: Der Raspberry Pi ist als Bastelrechner konzipiert und so ist auch das Betriebssystem konfiguriert.

    Das heißt, diverse Sicherheitsmechanismen, die in einem normalen Linux-Rechner gelten, sind deaktiviert,

    um es dem frischen Hobby-Administrator möglichst leicht zu machen.

    Das gilt insbesondere für den User "pi" selbst.

    Den User "pi" als Kopiervorlage zu nehmen, ist also nicht ganz optimal.

    Ansonsten:

    Wenn Du irgendwo ein Script findest, das User kopieren/clonen kann: Nutze es nicht!!!

    Das ganze passiert ja mit Admin-Rechten (root/sudo) und da sollte man verstehen, was man tut.

    Sonst passiert z.B. das:

    https://www.linuxquestions.org/questions/linu…64/#post2912430

    Er hat einfach "sudo chown -RP user2 .*" abgetippt, was KEINE gute Idee ist!

    Und mit solchen fehlerhaften Eingaben kann man sich ruckzuck das System zerbröseln.

    Ganz interessant ist noch der Thread https://unix.stackexchange.com/questions/2049…-on-another-one

    Aber wie gesagt:

    Bitte folge nicht blind irgendwelchen Beiträgen. Also auch nicht meinen! ;)

    Es ist schließlich Dein System, um das es geht.

  • Kurzum, wenn es nur manuell geht, bräuchte ich eine ziemlich genaue Anleitung.

    Ich empfehle die man und info pages von

    ls, diff, cmp

    useradd, adduser, adduser.conf

    cp, rsync,

    mkdir, chown, chmod, id, whatis

    samt SEE ALSOs

    oder Du legst einen neuen User an und weist ihm dieselben desktop-files zu, die auch der Vorlage-User besitzt.

    Grafiksysteme, von denen es unter Linux mehrere/viele gibt, solltest Du untereinander nicht mischen, weil .profiles und .configs nicht immer an gleicher Stelle im Filesystem abgelegt werden.

    Servus !

    RTFM = Read The Factory Manual, oder so

  • Er hat einfach "sudo chown -RP user2 .*" abgetippt, was KEINE gute Idee ist!

    Ist denn klar, warum das nicht funktioniert, bzw. warum es das merkwürdige Verhalten erzeugt? Soweit mich mein krüppeliges Englisch trägt, ändert er mit obigem Befehl sowohl die Rechte des alten, wie auch des neuen Benutzers, obwohl er sich beim Chowning im neuen Benutzerordner befindet. Liegt's an "sudo"?

    Ich würde für so etwas das Home-Verzeichnis mit einem anderen Linux-System mounten und die Daten dort kopieren und die Rechte ändern.

    Wenn der Benutzer "Pi" nicht für einen Desktopersatz geeignet ist, dann würde ich einen neuen Benutzer erstellen und neu konfigurieren. Diesen, bzw. dessen Einstellungen würde ich dann aber gerne auf einen zweiten Benutzer übertragen, damit ich den Keu nicht zweimal machen muss, denn bis der Desktop grob so ist, wie er sein soll, dauert es schon eine ganze Weile und wenn ich wüsste, wie man einen Benutzer kopiert, würde mir das auch auf anderen Kisten sehr helfen.

    oder Du legst einen neuen User an und weist ihm dieselben desktop-files zu, die auch der Vorlage-User besitzt.

    Das würde ich gerne, aber das bekomme ich ohne genaue Anleitung ziemlich sicher nicht hin.

    Was meinst du mit "Grafiksysteme [...] mischen"?

  • Achtung, ich frage hier nur! Sollte das wirklich so schwer sein? :conf:

    Code
    sudo adduser derneue
    sudo rsync -aP /home/pi/ /home/derneue
    sudo chown derneue:derneue -R /home/derneue

    Und jetz noch in die Gruppen schieben in denen auch pi ist (ausser der Gruppe pi)?

    Das muss ich irgendwann mal testen.

    - Der Weg zur Erkenntnis: Wie frage ich nach Hilfe? | Zur Erinnerung: Forenregeln | Quatsch und Tratsch: Plauderecke -

    2 Mal editiert, zuletzt von hyle (26. Januar 2022 um 21:13) aus folgendem Grund: Gruppe hinzugefügt / Slash nach /home/pi hinzugefügt

  • Ich war neugierig und der erste Teil (im Codeblock) scheint zu funktionieren.

    //Edit

    Mit groups als pi erhält man ja die Gruppen, in denen pi ist.

    Als neueruser dann folgendes ausgeführt:

    Code
    sudo usermod -aG adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,netdev,lpadmin,gpio,i2c,spi derneue

    Funktioniert soweit auch. sudo verlangt das Passwort (ist ja klar) und das bleibt hier auch so.

    Blastberry Konkrete Tests mache ich aber nicht mehr. Das überlasse ich Dir. ;)

  • Ist denn klar, warum das nicht funktioniert, bzw. warum es das merkwürdige Verhalten erzeugt? Soweit mich mein krüppeliges Englisch trägt, ändert er mit obigem Befehl sowohl die Rechte des alten, wie auch des neuen Benutzers, obwohl er sich beim Chowning im neuen Benutzerordner befindet. Liegt's an "sudo"?

    sudo chown -RP user2 .* verarbeitet alle Dateien/Verzeichnisse, die mit '.' (Punkt) anfangen, also die versteckten.

    Und zwar rekursiv (-R).

    Soweit, so gut. Aber .* passt leider auch auf ... Und das ist das übergeordnete Verzeichnis.

    Immer noch nicht so schlimm, auch wenn das nicht beabsichtigt war.

    Die Rekursion nach oben sollte spätestens in /home stoppen, weil dort der normale User keine weiteren Rechte an anderleuts oder System-Dateien hat.

    Aber nun kommt das sudo ins Spiel. Der darf alles...

    Also geht die Rekursion weiter hoch, bis nach /. Und wieder runter...

    So kann man fix VIELE Dateien erwischen, die man gar nicht meinte!

    Fazit: Mit Admin-Rechten (root oder sudo etc.) sollte man wissen, was man tut und genau auf Tippfehler achten. Insbesondere auch bei rekursiven Kommandos.

    Hier war es jetzt "nur" ein chown. Schlimm genug. Hätte aber auch Schlimmeres sein können...

  • Achtung, ich frage hier nur! Sollte das wirklich so schwer sein? :conf:

    Eigentlich wahrscheinlich nicht. Dachte ich auch.

    Wenn man aber in diversen Forenbeitragen (in anderen Foren) sieht, kann es beliebige "Spezialitäten" geben.

    Das ist natürlich alles machbar, aber eben nicht "klick-klick" vollautomatisch mit Erfolgsgarantie.

    Später die Fehler zu finden in beliebig faszinierend konfigurierten Systemen (wie man hier im Forum ja täglich zu lesen bekommt) ist bestimmt interessant.

    Also ja, Geht. Im Prinzip. ;)

  • Naja, wenn man halbwegs weiß was man macht, in dem Fall nur das Homedir von pi clonen, den Eigentümer und die Gruppe der neuen Dateien anpassen und den neuen User in die Gruppen schubsen in denen auch pi ist, kann man alles leicht wieder rückgängig machen.

    Dazu reicht ein Befehl (ggf. nach einem reboot):

    Code
    sudo deluser --remove-home derneue

    ;)

  • Erst mal vielen Dank für eure Beiträge. Damit müsste ich nun alles zusammen haben, um mein Vorhaben umsetzen zu können.

    Die neuen Benutzer anlegen ist unkritisch.

    Die Dateien des Vorlagenutzers zu kopieren, würde wahrscheinlich zuverlässig unter Linux Mint als Systemverwalter funktionieren, sodass ich nicht so leicht über Tippfehler stolpern würde.

    Fürs Chowning würde ich dann obige Befehlszeile nehmen. Die Unterschiede zur Version, die nicht geht, erscheinen mir auf den ersten Blick merkwürdig. Das werde ich mir noch mal genauer ansehen.

    Auf den Grund, warum die Chowning-Variante aus dem verlinkten Thread nicht funktioniert, wäre ich wahrscheinlich nicht oder erst nach sehr langem Grübeln gekommen. Das ist ja echt fies und wirft bei mir die Frage auf, wie man die gewünschten Objekte, also Dateien und Ordner anders hätte maskieren können. Mir ist schon öfter aufgefallen, dass scheinbar sehr einfache Sachen letztlich sehr kniffelig sind.

    Bei weiterer Webrecherche habe ich noch den Hinweis gefunden, dass man den Inhalt von /home des zu kopierenden Nutzers nach /etc/skel kopieren kann, sodass dann jeder neu erstellte Nutzer gleich von Beginn an alle oder viele Eigenschaften erhält.

    Z.B.: https://openbook.rheinwerk-verlag.de/linux_unix_pro…40001BA1F013100

    Über Dateirechte bei dieser Variante habe ich noch nichts gelesen. Ob das problemlos bzgl. Passwörtern und etwaige IDs ist, weiß ich auch noch nicht.

  • Ich denke das die Rechte beim kopieren von einem "frischen" Benutzer zu einem neuen Benutzer gleich/vernachlässigbar sind.

    Besitzer und Gruppe sind auch relativ unproblematisch. Mit find kann man sich alle Daten/Verzeichnisse anzeigen lassen, die nicht den Benutzer <name> und nicht die Gruppe <name> haben. Das sind hier unter Stretch ein Verzeichnis (root) und eine Datei (root) + RetroPie Zeug, was ich installiert habe, aber bei neuen Benutzer gibt es das ja nicht. Mein Aufruf was: sudo find -not -user pi -not -group pi -ls

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!