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ě.