GNU/Linux >> Znalost Linux >  >> Linux

Jak změnit heslo uživatelského účtu kontejneru LXC

Kontejner LXC má své vlastní definice uživatelského jména a hesla. Heslo pro účet LXC lze v případě potřeby změnit, ať už je kontejner spuštěn nebo ne.

geeklab login: admin
Password:

Login incorrect

Oracle Linux Server 7.1
Kernel 3.8.13-118.19.3.el6uek.x86_64 on an x86_64

Resetování zapomenutého hesla uživatele kontejneru LXC

Připojte se k běžícímu kontejneru jako uživatel root

Pokud je kontejner spuštěn, heslo lze resetovat, aniž by bylo nutné kontejner zastavit.

# lxc-attach -n Oracle7
[root@Oracle7 ~]# passwd
Changing password for user root.
New password:
BAD PASSWORD: The password contains the user name in some form
Retype new password:
passwd: all authentication tokens updated successfully.
[root@Oracle7 ~]#

lxc-attach příkaz spustí nový proces v běžícím kontejneru. Nový proces bude spuštěn pomocí přihlašovacích údajů uživatele spouštějícího příkaz lxc-attach. Zde uživatel root spustí normální prostředí shellu. Jakmile je shell spuštěn, jednoduše použijte příkaz common passwd jako obvykle.

Odeberte heslo, abyste umožnili přihlášení uživatele a normální reset. Soubory kontejneru LXC jsou přímo přístupné z příkazového řádku hostitele. Úpravou souboru /etc/passwd v kontejneru LCX lze požadavek na heslo pro uživatele odstranit, aby bylo možné otevřít účet pro přihlášení bez hesla.

Prvním cílem je najít cestu kontejneru LXC pro soubor, který má být upraven. K provedení tohoto postupu musí být kontejner LXC zastaven.

Krok č. 1:Najděte, kde jsou uloženy soubory kontejneru

# lxc-config -l
lxc.default_config
lxc.lxcpath
lxc.bdev.lvm.vg
lxc.bdev.lvm.thin_pool
lxc.bdev.zfs.root
# lxc-config lxc-lxcpath
/container

Nejprve zjistěte, které atributy LXC jsou k dispozici. Pomocí atributu lxc-lxcpath vyhledejte soubory kontejneru:

Krok #2:Kde jsou soubory kontejneru připojeny hostitelem LXC?

# mount | grep container
/dev/sdb on /container type btrfs (rw)

Zde jsou soubory kontejneru LXC přístupné z adresáře /container.

Krok #3:Najděte kořenový souborový systém kontejneru

# cd /container/
# ls
lxc-monitord.log Oracle5U9 Oracle7 Orcle5U9
# cd Oracle7/
# ls
config Oracle7.log rootfs rootfs.dev
# cd rootfs
# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin selinux srv sys tmp usr var

Krok #4:Odstraňte druhé pole pro problémového uživatele v etc/fstab

# grep oracle etc/passwd
oracle:x:1000:1000::/home/oracle:/bin/bash
# vi etc/passwd

Odstraňte veškerý obsah mezi prvními dvěma dvojtečkami (:) pro uživatele, o kterého máte zájem

# grep oracle etc/passwd
oracle::1000:1000::/home/oracle:/bin/bash

Používejte kořenový souborový systém kontejneru jako chroot vězení a normálně změňte heslo

Vyhledejte kořenový souborový systém kontejneru LXC, jak je uvedeno výše. Poté pomocí příkazu chroot(1) zadejte kontext provádění v kontejneru. Jako root normálně změňte heslo.

K provedení tohoto postupu musí být kontejner LXC zastaven.

# chroot /container/Oracle7/rootfs/ passwd oracle
Changing password for user oracle.
New password:
BAD PASSWORD: The password contains the user name in some form
Retype new password:
passwd: all authentication tokens updated successfully.

Poté spusťte kontejner a umožněte uživateli přihlásit se normálně.


Linux
  1. Jak změnit, odebrat nebo zakázat uživatelské heslo v systému Linux

  2. Jak změníme heslo root?

  3. Jak změnit nebo nastavit uživatelská hesla v Linuxu

  1. Jak změnit uživatelské heslo v Ubuntu

  2. Jak přinutit uživatele ke změně hesla při příštím přihlášení v Linuxu

  3. lxc kontejner:heslo a uživatelské jméno

  1. Jak změnit heslo v Linuxu – průvodce krok za krokem

  2. Jak změnit uživatelské heslo v Linuxu

  3. Jak změnit uživatelské heslo v Linuxu