it-swarm.dev

Jak změním své uživatelské jméno?

Před nějakou dobou, když jsem nainstaloval Ubuntu, jsem si pro svůj účet vybral poněkud hloupé uživatelské jméno, které už nechci používat.

Jak to mohu změnit (včetně názvu svého domovského adresáře a názvu v terminálu), aniž bych ztratil nastavení pro aplikace?
Jak si mohu zachovat oprávnění a své klíče pro různé ověřování (např. E-mail, SSH, GPG a další)?
Jaká nastavení by se mohla ztratit, kdybych změnila své uživatelské jméno?

346
Takkat

Operační systémy podobné Unixu oddělují uživatelské jméno od identity uživatele, takže můžete bezpečně změnit jméno bez ovlivnění ID. Všechna oprávnění, soubory atd. Jsou vázány na vaši identitu (uid), nikoli na vaše uživatelské jméno.

Ke správě všech aspektů uživatelské databáze použijte nástroj usermod.

Chcete-li změnit uživatelské jméno (je pravděpodobně nejlepší to udělat bez přihlášení):

Sudo usermod -l newUsername oldUsername

To však přejmenuje domovskou složku.

Chcete-li změnit domovskou složku, použijte

Sudo usermod -d /home/newHomeDir -m newUsername

poté, co jste změnili uživatelské jméno.

Můžete se například odhlásit, přejít na konzoli (Ctrl+Alt+F1), a Sudo su -, aby se stal skutečným rootem (na rozdíl od Sudo -s, kde $ HOME je stále/home/yourname.) Možná budete muset nejprve zabít některé dosud spuštěné procesy od tohoto uživatele. Chcete-li to provést, zadejte ps -u username, hledejte odpovídající PID a zabijte je kill PID-number.

Aktualizace: jak je uvedeno výše, některé soubory mohou odkazovat na váš starý domovský adresář. Můžete buď ponechat symbolický odkaz pro zpětnou kompatibilitu, e g ln -s /home/newname /home/oldname nebo můžete změnit obsah souboru pomocí sed -i.bak 's/*oldname*/*newname*/g' *list of files* Vytvoří zálohu pro každý soubor s příponou .bak.

Některé další informace pro tak nezkušené uživatele, jako jsem já:
Protože mám pouze uživatelský účet ONE (správce), nedovolilo by mi to změnit uživatelské jméno (odpověď „TTY1 jste již přihlášeni“)Ctrl+Alt+F1). Chcete-li to obejít:

  1. Přihlaste se pomocí svých původních údajů a přidejte nového uživatele, např. „dočasný“ v TTY1:

    Sudo adduser temporary
    

    nastavit heslo.

  2. Povolte dočasnému uživateli spustit Sudo přidáním uživatele do skupiny Sudo:

    Sudo adduser temporary Sudo
    
  3. Odhlaste se příkazem exit.
  4. Návrat na tty1: Přihlaste se pomocí 'dočasného' uživatelského účtu a hesla. Změňte své uživatelské jméno a složku, jak je uvedeno výše. exit (dokud nezískáte výzvu k přihlášení)
  5. Vraťte se na TTY7 (Ctrl+Alt+F7) k přihlášení na obrazovce GUI/normální plochy a zjistit, zda to funguje.
  6. Smazat dočasného uživatele a složku:

    Sudo deluser temporary
    Sudo rm -r /home/temporary
    
352
Egil

Chcete-li to všechno dohromady:

  1. Na úvodní obrazovce stiskněte Ctrl+Alt+F1.
  2. Přihlaste se pomocí svého uživatelského jména a hesla.
  3. Nastavte heslo pro „root“ účet.

    Sudo passwd root
    
  4. Odhlásit se.

    exit
    
  5. Přihlaste se pomocí účtu „root“ a hesla, které jste dříve nastavili.

  6. Změňte uživatelské jméno a domovskou složku na nové jméno, které chcete.

    usermod -l <newname> -d /home/<newname> -m <oldname>
    
  7. Změňte název skupiny na nové jméno, které chcete.

    groupmod -n <newgroup> <oldgroup>
    
  8. Zamkněte účet „root“.

    passwd -l root
    
  9. Pokud jste používali ecryptfs (šifrovaný domovský adresář). Připojte svůj šifrovaný adresář pomocí ecryptfs-recover-private a upravte <mountpoint>/.ecryptfs/Private.mnt, aby odrážel váš nový domovský adresář.

  10. Odhlásit se.

    exit
    
  11. Lis Ctrl+Alt+F7.

Nyní se můžete přihlásit pomocí nového uživatelského jména.

110
Valentin Uveges

Restartujte v režimu obnovy a přejděte do kořenového adresáře Prompt Shell („Drop to root Shell Prompt“)

Nejprve připojte kořen

mount -o remount,rw /

Chcete-li změnit uživatelské jméno a název domovské složky,

usermod -l <newname> -d /home/<newname> -m <oldname>

Pro název skupiny

groupmod -n <newgroup> <oldgroup>
28
karthick87

Na Ubuntu 13.10, 14.04, 16.04:

  1. Klikněte na ikonu „Nastavení systému“.
  2. Klikněte na „Uživatelské účty“.
  3. Měl by být zobrazen váš účet správce.
  4. Klikněte na tlačítko „Odemknout“.
  5. Chcete-li ve svém účtu povolit změny, zadejte své uživatelské heslo.
  6. Po odemknutí můžete kliknout na své staré uživatelské jméno, které chcete změnit, a zadejte nové uživatelské jméno a nahradit jej.
  7. Když jste zadali nový název, klikněte na tlačítko „Zamknout“, aby se změna stala trvalou.
  8. Restartujte Ubuntu.
10
Chicodoodoo

Při příjmu usermod: can't change /etc/password stačí spustit následující příkazy:

V kořenové konzoli pro obnovení kořenového adresáře:

mount -o remount,rw /

Poté znovu spusťte:

usermod -l <newname> -d /home/<newname> -m <oldname>
3
user1511576

Odpověď uvedená zde @ karthick87 funguje naprosto v pořádku, ale tady je to, co bych udělal jen proto, abych byl v bezpečí a vyhnul se všem závadám:

  1. Vytvořte samostatný účet/uživatele a ujistěte se, že tento účet/root root schopnosti nebo přihlášení jako uživatel root.
  2. Odhlaste se pomocí aktuálního účtu a poté se přihlaste pomocí účtu uvedeného v kroku 1.
  3. Zabijte všechny procesy předchozího uživatele.
  4. Nyní postupujte podle kroků uvedených v @ karthick87 a změňte uživatelské jméno a také vlastníka domovského adresáře.
  5. Poté změňte název skupiny podle odpovědi @Sriraj Hebbar.
  6. odhlaste se s náhradním uživatelem a přihlaste se s uživatelem. Pokud jste vytvořili dalšího uživatele, odstraňte jej.

když uděláte usermod -l <newname> -d /home/<newname> -m <oldname>, zobrazí se chybová zpráva useradd: can't change /etc/passwd, abyste se tomu vyhnuli, stačí přidat Sudo -- k výše uvedenému příkazu jako

Sudo -- usermod -l <newname> -d /home/<newname> -m <oldname>

a

Sudo --  groupmod -n <newgroup> <oldgroup>
0
Sriraj Hebbar