Portál AbcLinuxu, 30. dubna 2025 09:17
Jeden nástroj, ktprý používam, vyžaduje linuxovú (64bit) libku GLIBCXX_3.4.20
. Naštastie FreeBSD má binárnu vrstvu kompatibility s linuxom (podobne ako WSL známe z Windows). V tejto vrstve som, požadovanú libku nenašiel. Presnejšie povedané našiel som GLIBCXX_3.4.19
a nie GLIBCXX_3.4.20
inými slovami o chlp mi ušla verzia. Musím ju teda doinštalovať, akurát že linuxová vrstva kompatibility v základe neobsahuje žiadny package manager. A inštalovať to ručne nechcem, veď ani nepoznám všetky závislosti. Ešte že do compat vrstvy sa dá pridať aj plnohodnotné ubuntu s package managerom a systémom na správu balíčkov.
Debootstrapol som teda Ubuntu linux (vrátane package manageru):
pkg install debootstrap
a do súboru /etc/sysctl.conf
pridal riadok:
compat.linux.emul_path="/compat/ubuntu"Následne som sa chroot-ol
chroot /compat/ubuntu /bin/bash
A potom nainštalova balík build-essentials
ktorého súčasťou bola aj požadovaná knižnica glibc++:
$ apt install build-essentials
Žiaľ jeden nástroj pre zmenu defaultného shellu v Ubuntu (chsh) odomňa pýtal heslo a to dokonca aj pod rootom, a ja som predtým nikde žiadne heslo nezadával, takže požiadavka bola bezpredmetná.
Ale predsa... rozhodol som sa vyskúšať nastaviť heslo rootovi a zistiť či to nepomôže. Výsledok bol rovnaký: rootovské heslo bolo úplne zbytočné, problém bol totiž inde.
$ passwd root
Lenže to heslo mi tam ostalo. Teraz neviem ako sa ho zbaviť. Chcem mať debootstrapované Ubuntu s rootom a bez hesla. Dá sa to heslo nejako zrušiť / vyrestovať? Prosím Vás o radu ako na to? Alebo mám zmazať celý folder /compat/ubuntu
odinštlovať debootstrap a nainštalovať ho nanovo?
Tiskni
Sdílej:
passwd --help Použití: passwd [volby] [ÚČET] Volby: -a, --all vypíše stav hesel na všech účtech -d, --delete pro zadaný účet smaže heslo -e, --expire pro zadaný účet vynutí expiraci hesla -h, --help zobrazí tuto nápovědu a skončí -k, --keep-tokens změní heslo pouze pokud mu vypršela platnost -i, --inactive NEAKTIV zablokuje účet po NEAKTIV dnech od vypršení platnosti hesla -l, --lock zamkne heslo zadaného účtu -n, --mindays MIN_DNŮ nastaví minimální počet dnů před změnou hesla na MIN_DNŮ -q, --quiet tichý režim -r, --repository REPOSITÁŘ změní heslo v repositáři REPOSITÁŘ -R, --root CHROOT_ADRESÁŘ adresář, do kterého přejít -S, --status pro zadaný účet vypíše stav hesla -u, --unlock odemkne heslo zadaného účtu -w, --warndays VAR_DNŮ nastaví varování o expiraci na VAR_DNŮ -x, --maxdays MAX_DNŮ nastaví maximální počet dnů před změnou hesla na MAX_DNŮZdar Max
Ako prvé skontroluj čo je v súbore /etc/passwd
. Ak je tam vykričnik alebo hviezdička, tak je účet uzamknutý. To isté platí pre /etc/shadow
. Heslo roota odstraníš tak, že vymažeš string so začiatkom $6
tým odstraníš heslo.
Zmena shellu je blokovaná pravdepodobne pam modulom konfigurovaný súborom /etc/pam.d/chsh
. Podľa toho čo je v debiane, tak to blokuje zrejme časť modulu account. Je to kontrola či je účet uzamknutý. Ak by si mal prázdne heslo je tu možnosť, že ťa bude blokovať defaultné nastavenie auth. To môžeš obísť tým, že nastavíš v /etc/pam.d/common-auth
napríklad tieto riadky do části "Primary block"
usermod -L $UID
.
Najrýchlejšie je editovať priamo /etc/passwd
. Najprv vymazať obsah druhého poľa, potom ručne zmeniť shell a možno upraviť /etc/pam.d/common-auth
. Alebo skús tie súbory zmeniť textovým editorom z FreeBSD.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.