Ändra username via terminalen

Här diskuterar vi skal, kommandon och klassiska linuxverktyg.
ApeviaX
Inlägg: 20
Blev medlem: 11 feb 2020, 22:52
OS: Annat GNU/Linux
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Sturefors (Linköping)

Ändra username via terminalen

Inlägg av ApeviaX »

Hej på er

Jag har försökt att ändra username via terminalen med usermod.
Detta vid inloggningsskärmen (då username används när man är inloggad) via kommandot Ctrl + Alt + F5 (Pop! OS).

Problemet är att jag även då hamnar i inloggninsläge fast i terminalen...
Så där blev det moment 22.

Testade att köra root terminal via (recovery mode) läge vid boot, där gick kommandot genom, men ingen ändring?

Ctrl + Alt +F1 (som ska vara standard för terminalfönster vid inloggningsskärm för Ubuntu) ger inget, inget händer. Antagligen där det är F5 istället just för att jag kör Pop! OS.


Några tips?
Tack på förhand

MVH
Nicke
Senast redigerad av 1 ApeviaX, redigerad totalt 15 gånger.
Användarvisningsbild
Osprey
Inlägg: 6310
Blev medlem: 06 apr 2008, 00:09
OS: Ubuntu
Ort: Göteborg/Mölndal/Falkenberg
Kontakt:

Re: Ändra username via terminalen

Inlägg av Osprey »

Om jag förstår dig rätt så vill du alltså ändra ditt "vanliga" användarnamn till något annat. Helt enkelt bara ett annat namn?

Detta kan du göra om du loggar in som root och kör:

Kod: Markera allt

usermod --login NYA-NAMNET GAMLA-NAMNET
Det borde också kunna gå om du kör det med sudo när du är inloggad som vanligt, eftersom operativsystemet egentligen aldrig använder sig av själva namnet när du är inloggad, utan det UID (och GID) som det användarnamnet har.

Skulle inget annat funka (vilket vore märkligt) så kan du för den delen alltid logga in som root och editera "/etc/passwd", "/etc/shadow" och "/etc/group" och ändra det, men det är onödigt krångligt och lite för mycket "old school"....
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
ApeviaX
Inlägg: 20
Blev medlem: 11 feb 2020, 22:52
OS: Annat GNU/Linux
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Sturefors (Linköping)

Re: Ändra username via terminalen

Inlägg av ApeviaX »

Tja

Tack för svar. :) Insåg när jag läste det att jag kan ha missat ett enkelt steg.
Testar och återkommer.

Nicke
ApeviaX
Inlägg: 20
Blev medlem: 11 feb 2020, 22:52
OS: Annat GNU/Linux
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Sturefors (Linköping)

Re: Ändra username via terminalen

Inlägg av ApeviaX »

Osprey skrev:Om jag förstår dig rätt så vill du alltså ändra ditt "vanliga" användarnamn till något annat. Helt enkelt bara ett annat namn?

Detta kan du göra om du loggar in som root och kör:

Kod: Markera allt

usermod --login NYA-NAMNET GAMLA-NAMNET
Det borde också kunna gå om du kör det med sudo när du är inloggad som vanligt, eftersom operativsystemet egentligen aldrig använder sig av själva namnet när du är inloggad, utan det UID (och GID) som det användarnamnet har.

Skulle inget annat funka (vilket vore märkligt) så kan du för den delen alltid logga in som root och editera "/etc/passwd", "/etc/shadow" och "/etc/group" och ändra det, men det är onödigt krångligt och lite för mycket "old school"....
Skulle testa ditt förslag att köra kommandot:

Kod: Markera allt

sudo usermod --login NyaNamnet GamlaNamnet
och såg då att, va tusan får samma fel... Eller det är inte helt sant.
När jag läser på nytt så ser jag att mitt test igår (innan jag skapade denna post) hade ändrat username i delar av systemet?

Alltså, när jag bootade till (recovery mode) och körde root terminal så har jag lyckats byta från gammalt till nytt username, men det återspeglas endast i terminalen. Vid inloggning står det fortfarande: "user", även under /home står det "user".

Så verkar endast bytt username för display i terminal...

Nicke
ApeviaX
Inlägg: 20
Blev medlem: 11 feb 2020, 22:52
OS: Annat GNU/Linux
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Sturefors (Linköping)

Re: Ändra username via terminalen

Inlägg av ApeviaX »

Googlade på hur jag loggar in som root i terminalen. Fick upp info. om att root inte är aktiverat per default, eller åtminstone inte har ett lösenord satt.
Fixade det med kommandot:

Kod: Markera allt

sudo passwd root
Därefter körde jag change directory till /etc och kikade på de 3 nämnda filerna passwd, shadow & group via nano. Fann dock ej vad jag sökte (vad jag trodde mig finna), vilket var (enligt min förväntan) lösenord för user under passwd, någon form av display för username under shadow och möjligtvis det samma under group?

Vad ska jag kika efter här?
Om jag inte lyckas på annat vis menar jag?

BTW,

Kod: Markera allt

usermod --login NyaNamnet GamlaNamnet
funkar inte även om jag loggar in som root i terminalen med:

Kod: Markera allt

su root
Senast redigerad av 2 ApeviaX, redigerad totalt 15 gång.
ApeviaX
Inlägg: 20
Blev medlem: 11 feb 2020, 22:52
OS: Annat GNU/Linux
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Sturefors (Linköping)

Re: Ändra username via terminalen

Inlägg av ApeviaX »

Nu blir det många poster på rad där jag "tänker högt"...

Ändrade mitt user pass i terminalen med kommandot:

Kod: Markera allt

passwd
Hur kommer det sig att jag måste ha ett visst antal tecken när jag byter lösenord här?

Default för den image jag kör var 1234 (det jag ändrade från) och nu är 4 tecken för kort?

Labbar med installationen i en Virtualbox maskin, har inget känsligt på den heller så hade gärna fått vara ett än mer simpelt lösenord än det jag valt nu. (Inget superproblem, men varför är kravet på tecken fler när jag byter lösenord väl i en installation kontra när jag installerar och sätter upp maskinen?)

Kan även tilläggas att det lösenord jag satt för root är 5 tecken långt och betydligt mer simplet än för min user...
Användarvisningsbild
Osprey
Inlägg: 6310
Blev medlem: 06 apr 2008, 00:09
OS: Ubuntu
Ort: Göteborg/Mölndal/Falkenberg
Kontakt:

Re: Ändra username via terminalen

Inlägg av Osprey »

ApeviaX skrev:Skulle testa ditt förslag att köra kommandot:

Kod: Markera allt

sudo usermod --login NyaNamnet GamlaNamnet
och såg då att, va tusan får samma fel... Eller det är inte helt sant.
Jamen vad är "samma fel" för något då. Kommandot byter helt enkelt namnet på ditt UID och GID, i /etc/passwd, /etc/shadow och /etc/group. Det vill säga att den numeriska identitet som motsvarar dig som användare och den grupp du tillhör, får ett annat namn. Allt annat är identiskt, eftersom du fortfarande behåller samma UID och GID.....
ApeviaX skrev:Alltså, när jag bootade till (recovery mode) och körde root terminal så har jag lyckats byta från gammalt till nytt username, men det återspeglas endast i terminalen. Vid inloggning står det fortfarande: "user", även under /home står det "user".
Vad betyder "endast i terminalen"...?? Om du tittar i /etc/passwd, /etc/shadow och /etc/group så bör rimligtvis ditt gamla namn vara utbytt mot det nya. Annars så kan du som sagt editera dessa filer med gedit eller vi....
ApeviaX skrev:Så verkar endast bytt username för display i terminal...
I så fall har du lyckats med något som Linux egentligen inte klarar av.... ;)

Och det spelar ingen roll om du kör virtuellt eller "på riktigt", för det funkar konsekvent ändå..... :)
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
Användarvisningsbild
Osprey
Inlägg: 6310
Blev medlem: 06 apr 2008, 00:09
OS: Ubuntu
Ort: Göteborg/Mölndal/Falkenberg
Kontakt:

Re: Ändra username via terminalen

Inlägg av Osprey »

Det är enkelt att editera /etc/passwd, /etc/shadow och /etc/group, men var noga med att inte ändra något annat än användarnamnet!!

Du kan antagligen köra dem rakt genom "sed" om så skulle vara, typ alltså:

Kod: Markera allt

sudo sed /etc/passwd 's/GAMLA_NAMNET/NYA_NAMNET/g | sponge /etc/passwd
sudo sed /etc/shadow 's/GAMLA_NAMNET/NYA_NAMNET/g | sponge /etc/shadow
sudo sed /etc/group  's/GAMLA_NAMNET/NYA_NAMNET/g | sponge /etc/group
Det kan dock uppstå lite problem om det gamla namnet är "user" eller något sådant som kan "få träff" på flera ställen.....
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
ApeviaX
Inlägg: 20
Blev medlem: 11 feb 2020, 22:52
OS: Annat GNU/Linux
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Sturefors (Linköping)

Re: Ändra username via terminalen

Inlägg av ApeviaX »

Osprey skrev:
ApeviaX skrev:Skulle testa ditt förslag att köra kommandot:

Kod: Markera allt

sudo usermod --login NyaNamnet GamlaNamnet
och såg då att, va tusan får samma fel... Eller det är inte helt sant.
Jamen vad är "samma fel" för något då. Kommandot byter helt enkelt namnet på ditt UID och GID, i /etc/passwd, /etc/shadow och /etc/group. Det vill säga att den numeriska identitet som motsvarar dig som användare och den grupp du tillhör, får ett annat namn. Allt annat är identiskt, eftersom du fortfarande behåller samma UID och GID.....
Tja

Insåg att "samma fel" inte är mkt att gå på.
Jobbar själv i servicedesk, men var för lat för att editera då.

Fixar det väl hemma sen.
ApeviaX skrev:Alltså, när jag bootade till (recovery mode) och körde root terminal så har jag lyckats byta från gammalt till nytt username, men det återspeglas endast i terminalen. Vid inloggning står det fortfarande: "user", även under /home står det "user".
Vad betyder "endast i terminalen"...?? Om du tittar i /etc/passwd, /etc/shadow och /etc/group så bör rimligtvis ditt gamla namn vara utbytt mot det nya. Annars så kan du som sagt editera dessa filer med gedit eller vi....
Ah, OK ja jo det stod mitt NyaNamn (apeviax) i berörda filer. Jag missuppfattade det som att jag skulle byta passwd i just passwd filen.
ApeviaX skrev:Så verkar endast bytt username för display i terminal...
I så fall har du lyckats med något som Linux egentligen inte klarar av.... ;)
Och enligt insikt ovan så är det precis som du säger ändrat på fler ställen ;)
Och det spelar ingen roll om du kör virtuellt eller "på riktigt", för det funkar konsekvent ändå..... :)
Nja, det enda jag ville med att påpeka att jag kör en virtuell maskin var ju typ att "försvara" mitt val av simpelt/osäkert passwd.
ApeviaX
Inlägg: 20
Blev medlem: 11 feb 2020, 22:52
OS: Annat GNU/Linux
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Sturefors (Linköping)

Re: Ändra username via terminalen

Inlägg av ApeviaX »

Osprey skrev:Det är enkelt att editera /etc/passwd, /etc/shadow och /etc/group, men var noga med att inte ändra något annat än användarnamnet!!

Du kan antagligen köra dem rakt genom "sed" om så skulle vara, typ alltså:

Kod: Markera allt

sudo sed /etc/passwd 's/GAMLA_NAMNET/NYA_NAMNET/g | sponge /etc/passwd
sudo sed /etc/shadow 's/GAMLA_NAMNET/NYA_NAMNET/g | sponge /etc/shadow
sudo sed /etc/group  's/GAMLA_NAMNET/NYA_NAMNET/g | sponge /etc/group
Det kan dock uppstå lite problem om det gamla namnet är "user" eller något sådant som kan "få träff" på flera ställen.....
Precis, det var enkelt att finna.
Jag har bara tänkt lite fle/halva vägen som sagt.

Däremot förstår jag inte varför det står user istället för apeviax vid login samt i min home?
Användarvisningsbild
Osprey
Inlägg: 6310
Blev medlem: 06 apr 2008, 00:09
OS: Ubuntu
Ort: Göteborg/Mölndal/Falkenberg
Kontakt:

Re: Ändra username via terminalen

Inlägg av Osprey »

ApeviaX skrev:Däremot förstår jag inte varför det står user istället för apeviax vid login samt i min home?
Det skulle kunna vara så att ditt hemdirectory/din hemmamapp heter "user" och att det är den som står angiven i "/etc/passwd", samtidigt som ditt UID är helt rätt för den...

Prova med att gå in i /home och byt namn på den från "user" till "apeviax". Byte av användarnamn i /etc/passwd, /etc/shadow och /etc/group, ändrar ingenting alls vad gäller hemmamappen....

Prova att byta namn, antingen grafiskt eller med t.ex:

Kod: Markera allt

cd /home
sudo mv user apeviax
...

[EDIT] Eventuellt kan du behöva ändra till "/home/apeviax" i "/etc/passwd" också, vi får väl se..... :D
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
ApeviaX
Inlägg: 20
Blev medlem: 11 feb 2020, 22:52
OS: Annat GNU/Linux
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Sturefors (Linköping)

Re: Ändra username via terminalen

Inlägg av ApeviaX »

Osprey skrev:
ApeviaX skrev:Däremot förstår jag inte varför det står user istället för apeviax vid login samt i min home?
Det skulle kunna vara så att ditt hemdirectory/din hemmamapp heter "user" och att det är den som står angiven i "/etc/passwd", samtidigt som ditt UID är helt rätt för den...

Prova med att gå in i /home och byt namn på den från "user" till "apeviax". Byte av användarnamn i /etc/passwd, /etc/shadow och /etc/group, ändrar ingenting alls vad gäller hemmamappen....

Prova att byta namn, antingen grafiskt eller med t.ex:

Kod: Markera allt

cd /home
sudo mv user apeviax
...

[EDIT] Eventuellt kan du behöva ändra till "/home/apeviax" i "/etc/passwd" också, vi får väl se..... :D

Toppentips, jag kikar sen.

Återkommer med resultat. :)
ApeviaX
Inlägg: 20
Blev medlem: 11 feb 2020, 22:52
OS: Annat GNU/Linux
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Sturefors (Linköping)

Re: Ändra username via terminalen

Inlägg av ApeviaX »

Hej igen

Här har vi "samma felmeddelande" (körde medvetet processen inloggad & "bakvänt" med rätt user (nya apeviax) mot gamla (user)) bara för att tvinga fram vad jag såg.
Vi ser även vad jag menar med att jag "endast" fått username ändrat från user --> apeviax i terminalen. Här står det nu, apeviax@pop-os:~$ istället för user@pop-os:~$ som det gjorde innan.
endast i terminalen.png
endast i terminalen.png (27.24 KiB) Visad 3229 gånger
Här ser vi liknande (?) fel även om man kör som root i terminalen (förvisso inloggad så kanske p.g.a det?).
root.png
root.png (23.84 KiB) Visad 3229 gånger
Här ser vi att username i login screen fortsatt visar user (istället för apeviax).
login screen.png
login screen.png (10.57 KiB) Visad 3229 gånger
ApeviaX
Inlägg: 20
Blev medlem: 11 feb 2020, 22:52
OS: Annat GNU/Linux
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Sturefors (Linköping)

Re: Ändra username via terminalen

Inlägg av ApeviaX »

Fick bara in 3 bilder i mitt inlägg?

Och till sist ser vi här att /home/user är namnet på min mapp, istället för /home/apeviax
home user.png
home user.png (31.91 KiB) Visad 3228 gånger
ApeviaX
Inlägg: 20
Blev medlem: 11 feb 2020, 22:52
OS: Annat GNU/Linux
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Sturefors (Linköping)

Re: Ändra username via terminalen

Inlägg av ApeviaX »

Märk väl att dessa inlägg ovan (med bilder) bara är för att visa vad jag skrivit innan, ska nu testa Osprey's senaste tips :)
ApeviaX
Inlägg: 20
Blev medlem: 11 feb 2020, 22:52
OS: Annat GNU/Linux
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Sturefors (Linköping)

Re: Ändra username via terminalen

Inlägg av ApeviaX »

Såhär ser passwd, shadow & group ut just nu (har inte gjort något mer med de), markerade med blått på raderna där jag finner apeviax benämnt.
passwd apeviax.png
passwd apeviax.png (86.91 KiB) Visad 3225 gånger
shadow apeviax.png
shadow apeviax.png (71.72 KiB) Visad 3225 gånger
group apeviax.png
group apeviax.png (44.75 KiB) Visad 3225 gånger
Senast redigerad av 1 ApeviaX, redigerad totalt 16 gånger.
ApeviaX
Inlägg: 20
Blev medlem: 11 feb 2020, 22:52
OS: Annat GNU/Linux
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Sturefors (Linköping)

Re: Ändra username via terminalen

Inlägg av ApeviaX »

Ändring av namn på /home med kommandot:

Kod: Markera allt

sudo mv user apeviax
home apeviax.png
home apeviax.png (26.79 KiB) Visad 3224 gånger
ApeviaX
Inlägg: 20
Blev medlem: 11 feb 2020, 22:52
OS: Annat GNU/Linux
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Sturefors (Linköping)

Re: Ändra username via terminalen

Inlägg av ApeviaX »

Nu har jag knasat till det ::)

Jag verkar ha lyckats byta namn på datorn, editerade /etc/hostname & /etc/hosts, bytte där ut pop-os --> apex.
Efter omstart kan jag ej logga in :P

Login screen blinkar till som att den acccepterat mitt lösenord, men sen kommer man tillbaka. Testade att skriva fel lösen och får då felmeddelande.
Tror att det är halvklart, för i root terminal står det apeviax@apex:~$ men vid login står det fortfarande user kan det vara någon ledtråd till vad jag ställt till med? :o
login screen.png
login screen.png (10.57 KiB) Visad 3222 gånger
Användarvisningsbild
Gunnar Hjalmarsson
Inlägg: 3030
Blev medlem: 08 aug 2010, 13:49
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Göteborg

Re: Ändra username via terminalen

Inlägg av Gunnar Hjalmarsson »

Har inte följt den här tråden särskilt noga, men noterar att hemkatalogen för användarnamnet apeviax är /home/user i stället för det förväntade /home/apeviax. Skulle möjligen kunna spela någon roll.

Sedan ser det ut som att du använder GNOME-skrivbordet, och nu vet jag inte hur det fungerar på pop-os, men i Ubuntu finns det ytterligare saker som berör användaradministrationen. Tänker främst på paketet accountsservice och den nyckelfil som du i så fall hittar i katalogen /var/lib/AccountsService/users.

Generellt, om man använder en utvecklad skrivbordsmiljö som GNOME, bör man undvika att trassla med lågnivåverktyg såsom usermod(). Vet dock att det rådet är något senkommet i det här fallet. ;)

P.S. Resultat av terminalkommandon kan med fördel kopieras och klistras in i inlägg här i stället för omvägen via skärmdumpar. Det blir enklare för alla inblandade.
Användarvisningsbild
Osprey
Inlägg: 6310
Blev medlem: 06 apr 2008, 00:09
OS: Ubuntu
Ort: Göteborg/Mölndal/Falkenberg
Kontakt:

Re: Ändra username via terminalen

Inlägg av Osprey »

Till att börja med så verkar dina problem bero på att du har varit inloggad som apeviax innan du började köra kommandona.

Att du har inloggningsproblem nu är förmodligen resultatet av någon inkonsekvens nu, dvs. att /etc/passwd, /etc/shadow, /etc/group och namnet i /home inte stämmer. Detta är dock lätt fixat om du loggar in som root eller startar datorn i återställningsläge....

[EDIT] Du måste alltså se till att namnet i /etc/passwd, /etc/shadow och /etc/group är detsamma och även att namnet på mappen i /home är samma. I /etc/passwd finns också en angivelse av vad din "hemmamapp" heter och som du kanske behöver ändra.... :)
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
Skriv svar

Återgå till "Terminalforum"