Raspberry Pi: Standard Benutzername Pi ändern
Installiert man Raspbian auf den Raspberry Pi, so hat man von Haus aus den Benutzer pi, mit dem man auf dem Raspberry Pi werkelt. Möchte man den Raspberry Pi z.B. über eine DynDNS an das Internet hängen, so empfiehlt es sich den Benutzernamen zu ändern, da Angreifer dann neben dem Passwort auch den Benutzernamen herausfinden müssen. Wie man unter Raspbian den Standardbenutzer pi und dessen Gruppe pi umbenennt, erkläre ich in folgendem Tutorial.
Voraussetzung: Raspbian oder vergleichbare Distribution installiert
Anmerkung: Bereits erstellte User-Crontabs werden beim Ändern des Benutzernamens gelöscht – daher zuvor sichern!
Zunächst legen wir einen Interims Benutzer mit dem Namen inter an und vergeben für diesen auf Nachfrage ein Passwort. Alle weiteren Felder können wir leer lassen. Diesen Benutzer benötigen wir um den Benutzer pi umzubenennen.
sudo adduser --no-create-home inter
Nun tragen wir den Interims Benutzer in die sudoers ein, sodass dieser mittels des Kommandos sudo zeitweise Root-Rechte erhält, welche wir später benötigen. Dazu öffnen wir mittels des folgenden Kommandos die sudoers Datei und fügen am Ende dieser die folgende Zeile ein. Speichern können wir mittels STRG + X, Y und Enter. Darauf folgend schließen wir den Terminal mit dem wir gerade gearbeitet haben und loggen uns in den Benutzer inter ein.
sudo visudo
inter ALL=(ALL) NOPASSWD: ALL
Jetzt benennen wir den Benutzernamen pi um. Da der ursprüngliche Benutzer jedoch sein Home-Verzeichnis unter /home/pi hat, ändern wir dieses gleich mit ab. In dem Befehl ändere ich den Benutzer und das Home-Verzeichnis auf jan. Entsprechend muss dieser Namen angepasst werden.
sudo usermod --move-home --login jan --home /home/jan pi
Nun ändern wir noch den Namen der Gruppe pi ab. Es empfiehlt sich denselben Namen wie beim Benutzer zu verwenden. Daher muss wieder jan durch den gewünschten Namen ersetzt werden.
sudo groupmod -n jan pi
Wir löschen nun in der sudoers Datei die Zeile für den Benutzer inter, die wir vorher angelegt haben und ändern die Zeile des Benutzers pi ab, sodass wir den Namen des neuen Benutzers eintragen. Darauf folgend melden wir uns erneut vom aktuellen Terminal (Benutzer inter) ab und loggen uns in den neuen Benutzernamen, den wir gerade geändert haben (in meinem Fall jan), an.
sudo visudo
löschen:
inter ALL=(ALL) NOPASSWD: ALL
pi ALL=(ALL) NOPASSWD: ALL
ändern in
jan ALL=(ALL) NOPASSWD: ALL
Jetzt können wir den Interims Benutzer wieder löschen, da er nicht mehr benötigt wird.
sudo deluser inter
Wir müssen nun im raspi-config Script in folgenden Zeilen den Benutzernamen noch ändern. In dem Editor nano kann man mittels STRG + W eine Suchzeile aufrufen, in der man die zu bearbeitenden Zeilen suchen kann. Hierbei verwende ich erneut als Beispiel den Benutzernamen jan.
sudo nano /usr/bin/raspi-config
if id -u pi > /dev/null 2>&1; then
ersetzen durch (zwei mal in dem Script vorhanden und zu ersetzen)
if id -u jan > /dev/null 2>&1; then
und
sed /etc/lightdm/lightdm.conf -i -e "s/^#autologin-user=.*/autologin-user=pi/"
ersetzen durch
sed /etc/lightdm/lightdm.conf -i -e "s/^#autologin-user=.*/autologin-user=jan/"
und
passwd pi
ersetzen durch
passwd jan
Nun müssen wir raspi-config aufrufen und dort unter dem Punkt Enable Boot to Desktop/Scratch die Option Desktop Log in as user ‚pi‘ at the graphical desktop wählen. Anschließend können wir raspi-config (Reboot ist nicht nötig) erneut aufrufen und, falls gewünscht, die Einstellung wieder auf Console Text console, requiring login (default) zurücksetzen.
sudo raspi-config
Abschließend starten wir den Raspberry Pi einmal neu.
sudo reboot
Fertig! Wir haben nun den Benutzer pi in einen Benutzernamen unserer Wahl abgeändert.
76 Kommentare. Hinterlasse eine Antwort
Hallo jan wenn man du folgenden Befehl eingibt sudo groupmod -n jan pi bekommt man die Meldung das die Gruppe nicht existiert was mache ich falsch
Gruß michael
Hast du den Benutzer jan benannt? Wenn nicht musst du den Gruppennamen ebenfalls umbenennen – so wie den Benztzernamen.
Ich habe aus dem Jan ein mg gemacht was für meinen vor und nach Namen steht und dann den besagten Fehler bekommen das die Gruppe nicht Existiert-
Ich habe den Befehl wie folgt abgeändert: sudo groupmod -n mg pi und
sudo usermod –move-home –login mg –home /home/mg pi
ich hoffe du hast einen Tipp für mich
Gruß Michael
sudo usermod --move-home --login mg --home /home/mg pi
sudo groupmod -n mg pi
Mit diesem beiden Befehlen sollte es eigentlich auf funktionieren. Vielleicht wurde anstatt — nur – kopiert (das Problem kenne ich auf dem Mac)?
Habe bei der Umbenennung folgendes Problem.
usermod: user pi is currently used by process 728
Habe den Pi schon neu gestartet. Die Meldung erscheint trotzdem immer wieder.
Kannst du mir weiterhelfen?
Habe das gleixhe Problem auf dem RasPi 3 Model B+
Das Problem hatte ich auf dem Raspi auch. Das Problem ist, dass noch Prozesse des User „pi“ im Hintergrund laufen und auch immer mit gestartet werden. Geht mal in der grafischen Oberfläche auf Menü -> Einstellungen -> Raspberry Pi Configuration
Dort dann den Haken bei Auto Login abwählen, bzw. das Auto-Login ausschalten. Dann rebooten. Der Rapsi meldet sich nun nicht mehr automatisch an und ihr meldet euch mit dem o.g. Benutzer „inter“ an. Dann wieder die Konsole öffnen und mit den Befehlen ab „usermod“ weitermachen. So gings bei mir hervorragend.
Lag wohl daran, dass durch den Befehl „killall -u pi“ doch nicht alle Prozesse beendet wurden bzw. bei neuem Login wieder gestartet wurden.
Hoffe ich konnte helfen.
Bitte auch noch einen Vermerk einfügen, dass bei diesem Verfahren die Usercrontab ( öffnen mit: crontab -e ) flöten geht. Musste ich gerade schmerzhaft feststellen. Also vorher ein Backup ziehen…
Danke für den Hinweis, habe es ergänzt. Hast du probiert, ob sie beim wieder zurück Ändern auf den Ursprungsbenutzer vielleicht wieder auftauchen?
Hab’s jetzt getestet. Ja, beim zurückstellen ist’s wieder da. Nach einer kleinen Recherche wurde es mir auch klar: „crontab -e“ ist der Benutzerspezifische Crontable. Diese liegen unter /var/spool/cron/crontabs/[USERNAME]
Sie sollten aber NIE dort editiert werden. Kann fiese Nebeneffekte haben. Daher immer „crontab -e“ verwenden.
Falls man den Crontable vor dem umstellen des Benutzers nicht sichert, kann man in danach mit „sudo cat /var/spool/cron/crontabs/pi“ anzeigen lassen, oder mit sudo cat /var/spool/cron/crontabs/pi > ~/old_crontab.txt“ in eine Textdatei („old_crontab.txt“) im Homeverzeichnis ausgeben lassen.
Sudo ist hierbei nötig da es sich bei dem Speicherort um Systeminternas handelt, in denen User normal nichts verloren haben und daher auch nicht lesen dürfen.
Ach ja und in Step 1 muss noch ein sudo davor – sonst gehts nicht. User dürfen (im Normalfall) keine User anlegen… 🙂
PS: Meine erste Aussage, dass der Crontable des Benutzers also gelöscht wird war also nur halb richtig. 🙂 Er ist eben nur nicht mehr „normal“ verfügbar… 😉
Danke für deine Rückmeldung. Das vergessene sudo habe ich ergänzt.
Hallo Jan und Jan,
ich finde, Jan K., diesen Vermerk von Jan G. nirgendwo in obigem Tutorial.
Jan G., das nachträgliche Auslesen des crontabs des alten Users pi ist nicht möglich. „Datei oder Verzeichnis nicht gefunden“ 🙁
Ich denke, dass der crontab recht allgemein aufgebaut ist. Vielleicht könnt ihr den Inhalt für den neuen User hier nochmal posten, damit die (so wie ich z.B.:)), die bereits nach diesem Tut gehandelt haben, den Inhalt per crontab -e neu einfügen können.
Ich denke in den Kommentaren ist schon der richtige Platz dafür. Außerdem findet man auch alle alten Crontabs, wie vom anderen Jan beschrieben, bei Bedarf im Pfad /var/spool/cron/crontabs.
[…] Benutzernamen herausfinden muss. Wie man dies bewerkstelligt erklärte ich bereits in dem Artikel Standard Benutzername Pi ändern. Step […]
Hallo Jan,
danke für tolle (Anfänger)hilfe mit dem Raspberry. Nach obigem Tutorial habe ich leider ein Problem: das X Display startet mit keinem User mehr. Habe nur den User wie beschrieben umbenannt/ umgezogen (und den zweiten für eingeschränkte Rechte behalten), kann jetzt mit keinem mehr x11vnc starten, obwohl Autorisierungsfile usw. da sind und angegeben werden… Hast du vielleicht eine Idee?
Grüße
Simon
Mhhh… kann mir eigentlich nicht wirklich vorstellen, dass dieser Fehler im Zusammenhang mit dem Ändern des Benutzernamens steht. Eine Idee habe ich folglich leider auch nicht wirklich…
Ich kann das nur bestätigen … der XRDP-Zugriff geht nun nicht mehr.
Ich habe nun Zeit gefunden den Spaß selbst einmal auszuprobieren. Dazu habe ich mir die aktuelle Raspbian Version neu installiert. Und auch nach der Änderung funktionierte die grafische Oberfläche einwandfrei.
Einzige was nicht mehr funktioniert ist der automatische Login in den Benutzer pi (da ja nicht mehr existent), der über raspi-config gesteuert wird. Dies denke ich sollte jedoch nicht weiter stören.
Hi Jan,
Lässt sich der auto login für den neuen user irgendwie wieder wieder aktivieren (auch mit giu)?
VG Moritz
Ich habe für den Autologin leider keine Lösung gefunden – aber bzgl. GUI Zeug unter Linux kenne ich mich auch nur mäßig aus.
sudo nano /usr/bin/raspi-config
dort nach „do_boot_behaviour()“ suchen und pi in den gewünschten benutzernamen ändern.
danach die raspi-config ausführen und Boot to GUI aktivieren.
geht garantiert, hab ich eben getestet 😉
Super klasse. Habe es selbst mal durchgetestet wie es genau funktioniert und den Artikel entsprechend erweitert.
Eine Ergänzung: Beim Umbenennen des pi erhielt ich die Meldung
usermod:user pi is currently used by process 2176
auch direkt nach einem Reboot.
Dagegen half nur ein sudo kill -9 2176.
Danach lies sich der pi auch umbenennen
Dann hast du irgendwo noch einen Terminal mit dem Benutzer pi offen gehabt.
Bestimmt. Ich würde den Satz: „Darauf folgend schließen wir den Terminal mit dem wir gerade gearbeitet haben und loggen uns in den Benutzer inter ein.“ an den Anfang von Step 3 schieben um weitere Missverständnisse zu vermeiden. Der Befehl, der dem inter superuser Rechte gibt kommt auch erst _nach_ diesem Satz, was recht gefährlich ist.
Ich finde das passt eher zu Step 3. Dennoch muss ich die zustimmen, dass das leicht überlesen werden kann, weshalb ich den Satz nun fett geschrieben habe. Danke!
Hallo,
ich bekomme auch die Meldung „usermod:user pi is currently used by process „.
Ich bin der Anleitung gefolgt, logout, neues Terminal ….
Habe versucht die Prozesse mit sudo kill abzustellen. Es sind aber einfach zu viele. Auch wenn ich als root starte laufen im Hintergrund pi-user-Prozesse.
Der User pi lässt sich somit nicht umbenennen.
Was kann ich noch machen?
Habe genau das gleiche Problem. Kann die Prozesse nicht killen. Pi ist immer in einem Prozess.
Hallo zusammen. Danke für das Tutorial, super, dass du dein Wissen hier zu Verfügung stellst. Ich habe leider auch das Problem, dass pi gerade durch einen Prozess ausgelastet ist. Wenn ich diesen „kille“, dann ist es einfach ein neuer Prozess, usw.
Ich habe das Terminal neu gestartet, den raspi rebooted und den Mac neu gestartet – da nützt alles nichts. Hat jemand einen Tipp für mich?
hast du dies probiert:
sudo killall -u pi; sudo usermod –move-home –login jan –home /home/jan pi
danke, mit „sudo killall -u pi“ hat es bei mir endlich geklappt, bin fast verzweifelt
Yay, erfolgreich gebricked.
Hej,
werden nur die 3 Einträge in der “do_boot_behaviour()” geändert? denn ich habe weiterhin das Problem, dass er sich nicht automatisch einlogt…
Sollte meiner Erfahrung nach so einwandfrei funktionieren.
Hi Jan,
vielen Dank für die Anleitung, soweit sieht alles gut aus.
Ich habe es bemerkt, dass man evtl. im /usr/bin/raspi-config auch die Zeile „passwd pi“ durch „passwd jan“ ersetzen soll, sonst funktioniert das Passwort-Config-Feature nicht mehr.
Danke nochmals
Gruß
Alexey
Sehr schön, danke. Habs ergänzt!
Hi Jan,
erstmal ein großes Lob!! Super Anleitungen hast du hier, ohne deine Seite wüsste ich kaum etwas mit dem pi anzufangen 😉
Folgendes Problem habe ich aber, ich kann diese Zeile einfach nicht finden:
if id -u pi > /dev/null 2>&1; then
Alle anderen Dinge aus Step7 habe ich.
Gruß
Michael
Hi Jan,
Ich habe das gleiche Problem wie Michael. In meiner Raspi-Config gibt es die Zeile:
if id -u pi > /dev/null 2>&1; then
auch nicht.
Alles andere habe ich geändert und habe nun das Problem wenn ich
sudo raspi-config
eingebe kommt:
/usr/bin/raspi-config: 2: /usr/bin/raspi-config: !/bin/sh: not found
/usr/bin/raspi-config: 14: /usr/bin/raspi-config: /etc/lightdm/lightdm.conf: Permission denied
???????
Gruß Tobias
Du hast beim Editieren glaube ich etwas mehr geändert als du solltest 😉 – Ich empfehle es noch mal mit der ursprünglichen Datei zu versuchen (und vielleicht diesmal davor eine Sicherungskopie davon machen)
Danke, das Gefühl hat mich auch schon beschlichen 😉 Habe mir nochmal eine ursprüngliche Datei der raspi-config an die entsprechende Stelle und mit chmod ausführbar gemacht und dann ging es.
Ich danke dir aber für deine schnelle Antwort und sage:
„Daumen hoch, mach weiter so!!!“
Gruß Tobias
Habe gerade noch mal nachgesehen. Ist so in der Datei enthalten. Verwende am besten die Suchfunktion – wie beschrieben.
Hey, hab gerade meinen Pi wieder neu aufgesetzt und habe das selbe Problem wie Michael. Das Problem hatte ich jedoch beim ersten Mal nicht… Da hab ich die Zeile wie beschrieben im Text gefunden, nach dem Neuaufsetzen jedoch nicht mehr. Wir hatten das Problem schon bei einem Freund von mir, das hat aber (bisher) keinerlei Auswirkungen gehabt, funktioniert alles trotzdem Einwandfrei. Verwirrung stiftet es trotzdem.
Naja, trotzdem klasse Tutorials, vielen Dank!
Gerade Raspbian geupdatet und geupgraded und tada, der Abschnitt ist aufgetaucht.
Hi,
ich bin mit dem Thema Linux noch nicht so vertraut, daher:
in welchem Pfad finde ich die sudoers?
Die kannst du ganz einfach du das in Step 2 genannte Kommando sudo visudo bearbeiten – ohne Pfadangabe 😉
Hallo,
verständliche Anleitung, jedoch steht bei mir in den ersten Zeilen
der sudoers, daß man da nicht rummfummeln soll,…. danach bin ich hilfloser Linuxanfänger!
Hilfeee!
Hallo Jan..
Deine howt. sind alle samt klasse.
meine Pis laufen alle super dank deiner tuts.
Meine frage ist –kann man unter allen Debian-systemen den Benutzernamen so ändern?
gruss guido
Hallo,
bei Schritt 6 wäre es vielleicht ganz gut zu schreiben das man sich als inter abmelden sollte und mit dem neuen Benutzer anmelden sollte bevor man versucht inter zu löschen.
Grüße
Wird bereits in Step 5 gesagt. Um kurz vor zwei Uhr kann es aber vielleicht auch sein, dass dus einfach überlesen hast 😉
Hallo Jan,
bei mir hat der Autologin auch nicht geklappt, wenn man nur die raspi-config ändert. In der /etc/lightdm/lightdm.conf muss der User pi ebenfalls auf den neuen Usernamen geändert werden, dann klappt es wieder.
Grüße
Johannes
Danke an Johannes.
So hat’s geklappt.
Großartig!
@Jan: Magst du das vielleicht noch in den Artikel mit aufnehmen? Musste jetzt erst die Kommentare durchsuchen um die Lösung des Problems zu finden. Danke
Vielen Dank für diese Hilfestellung!
Ich komme allerdings bei Step 3 nicht weiter. Bei mir lautet der aktuelle Benutzer bananapi und soll in pi umbenannt werden.
Also gebe ich doch „sudo usermod –move-home –login pi –home /home/pi bananapi“ ein, oder?
Bekomme aber dann die Fehlermeldung „bananapi is currently used by process 2285“.
Eingeloggt habe ich mich – wenn ich es richtig gemacht habe – mit dem Benutzer „Inter“.
Woran kann das liegen?
Es läuft noch ein anderer Prozess mit dem Benutzer bananapi. Den könntest du ggf. über folgendes Kommando definitiv killen:
sudo kill -9 2285
Danke!!! Ich versuche das später einmal!
Ich habe das auch gemacht aber nach ein update war alles wieder auf pi gesetzt und fehlten mir die rechten, musste dann alles halt wieder einstellen, wie kann man das ändern?
Wie wurde das system denn aktualisiert? apt-get update -> upgrade sollte sowas eigentlich nicht verursachen, meines Wissens nach. 🙂
Das kann ich mir nur nicht wirklich vorstellen… würde ja bedeutet, dass jegliche Einstellungen bei einem Update zurückgesetzt werden würden. Ich glaube du hast da was anderes gemacht 😉
All Perfect super Anleitung
Zu /usr/bin/raspi-config:
Man kann die jew. Vorkommen von „pi“, die in Bezug zum Benutzernamen stehen, auch einfach durch eine Variable ersetzen, zb. $USERNAME, und dann am Anfang der Datei USERNAME=“neuerName“ schreiben. Schon kann man in sekundenschnelle den Benutzernamen ändern in der Datei „ändern“ und muss nicht mühsam jedes Vorkommen suchen.
Man kann dann die Datei auch auf andere PIs kopieren.
z.b.
whiptail --msgbox "... enter a new password for the "$USERNAME" user" 20 60 1
passwd $USERNAME &&
Hallo Jan,
mittlerweile gibts es ja Raspbian Jessie und leider bekomme ich es dort nach deiner Anleitung nicht mehr hin:(
Es startet automatisch in der graphischen Oberfläche und der User pi wird automatisch angemeldet wodurch bei Step 3 folgender Fehler kommt: „usermod user pi is currently used by process XYZ“.
Hast du hier einen Tipp oder Abhilfe?
Danke, auch für deinen großartigen Blog!
Hi,
ich habe das gleiche Problem wie du, bei Jessi funktioniert das leider nicht. Wenn ich rausfinde wie es geht oder ein anderer mir/uns einen Tipp geben kann wäre ich sehr froh.
lg Stefan
Hi ich nochmals, ich habe jetzt rausgefunden wie das bei Jessi funktioniert:
– sudo raspi-config
– Boot Options
– B1 und B3 anklicken, sind die beiden ohne Autologin
– raspbarry neu starten und nochmals probieren, bei mir hat es sofort funktioniert
lg
Hallo,
ich danke Stefan für diesen Post. Hat bei mir auch sofort funktioniert. Einmal B1 oder B3 auswählen, Neustart und dann wieder B4 auswählen (oder B2). Ging auf Anhieb.
Danke
Erare
Vielen Dank für das gute Tutorial.
Bei mir (mit Jessie) hat das Autologin erst wieder funktioniert, als ich den Benutzer pi auch in der Datei /etc/systemd/system/[email protected] manuell geändert habe. ( in lightdm.conf sowieso…)
Vielen Dank für die vielen tollen Hinweise und die tollen Tutorials! Danke auch für den letzten Kommentar von Max. Bei funktioniert das Autologin immer noch nicht, obwohl ich alle Änderungen einschließlich der [email protected] gemacht habe. Hat jemand noch eine Idee, woran das liegen könnte?
Siehe den Kommentar von Johannes vom
15. August 2014 um 11:58
[…] for security maybe change the default user: https://jankarres.de/2013/09/raspberry-pi-standard-benutzername-pi-aendern/ […]
Danke für die Anleitung. Ich konnte pi nicht umbenennen weil der in irgendwelchen Prozessen genutzt worden war. Angeblich „bash“, was für eine Terminalsitzung spricht, also die standardmäßige von Raspbian imho 😉 Hab mit inter ein Script geschrieben, dass alle Prozesse mit pi abschießt und direkt umbenennt, wie oben beschrieben.
geht so
!#/bin/bash
sudo pkill -9 -u pi
sudo usermod –move-home –login –home /home/admin/pi
Wenn man Inter löschen möchte fast das gleiche:
!#/bin/bash
sudo pkill -9 -u inter
sudo deluser inter
Speichern, dann sudo chmod a+x script.sh und ausführen.
Ist vllt ne Eigenheit von Jessie ?
So gings jedenfalls bei mir, die Befehle hintereinander in ne Shell zu kloppen war zu lahm, deswegen mit Bash^^
Wenn du über SSH zugreifst, darfst du auf dem Pi selbst natürlich nicht durch Autologin eingeloggt sein…
Hallo Jan,
deine Anleitung zum Ändern des Standardbenutzers pi hat mir sehr gefallen und weitergeholfen.
Zu Step2 kann man alternativ folgenden Befehl verwenden:
$> sudo gpasswd –add inter sudo
Step5 und Step6 kann zu einem Step zusammenfassen:
$> sudo deluser –remove-all-files inter
Das hat den Vorteil, dass man in keinen config-Dateien „herumfummeln“ muss.
Anschließend empfehle ich auch den SSH-Login nicht mehr per Passwort, sondern per Public Key abzusichern, siehe auch https://www.thomas-krenn.com/de/wiki/OpenSSH_Public_Key_Authentifizierung_unter_Ubuntu
Also, ich weiß nicht, was die alle für Probleme haben – bei mir hat’s auf Anhieb GENAU SO geklappt – sogar mit dem Beispielbenutzer. 😉 Danke!
Allerdings habe ich den Teil mit dem raspi-config weggelassen, da ich den Raspi headless betreibe. Außerdem würde das doch bei jedem Update sowieso wieder überschrieben.
Hallo Jan,
super Anleitung Danke.
Ich habe nur ein kleines Problem und zwar benutze ich auch jessi und unter Step 5 finde ich keinen Benutzer pi den ich abändern könnte nur root und sudo.
Gruß Danny
Hi Danny,
das Geheimnis liegt in der Datei „/etc/sudoers.d/010_pi-nopasswd“ hier musst Du auch den Namen ändern dann passt es wieder, aber die Frage ist was bei einem Update passiert.
Ich hatte das gleiche bemerkt, aber ganz ehrlich, ich finde es so ein wenig sicherer.
Gruß
Dirk
Ja dieser artikel ist sehr alt und dem entsprechend nicht geplegt. denn er funktioniert nur bis zu dem teil wo man dann das skript mit opi ändern soll da sagt er dann das if id nicht vorhanden ist. was nun hab fertig und abbrechen? was pasiert dann ich glaub das hier jetzt nicht. waru kann man nicht dazu schreiben mit was es getestet wurde und das es nun bei neuem nicht mehr geht.