Portál AbcLinuxu, 30. dubna 2025 10:10
V tomto blogu budem písať o riešení situacie pri nesprávnom nastavení shellu užívateľa. Táto situácia nie je problém pri užívateľskom účte s UID > 0. Reálny problém je vtedy, keď ide o root účet a nie je možný fyzický prístup.
Užívateľ root s nastavením v /etc/passwd root:x:0:0:root:/root:sh
. Tento zápis je chybný.
Ďalší problém môže nastať ak je kontrolovaný shell pri logine. U debianu je riadený login cez pam moduly. Priečinok /etc/pam.d
a súbor login
. Každá distribúcia to môže mať iné.
Program chsh
slúži na zmenu shellu užívateľa. Dnes som zistil, že aj pam modul shells nedokáže zastaviť zmenu shellu na neplatnú hodnotu. Iba ak tento program použije root.
/bin/bash
s názvom, ktorý je zadaný v /etc/passwd
.Tento postup u mňa fungoval. Samozrejme záleži na okolnostiach či bude daný postup fungovať aj na iných systémoch. Postup fungoval pri použiti dvoch uživateľských účtov s UID > 0.
Link na inšpiráciu.Link1 Link2
su
berie ako keby bol shell v aktuálnom adresáry.EDIT 26.03.2013 09:00
EDIT 26.03.2013 11:15 - úprava textu a doplnenie niektorých faktov.
EDIT 26.03.2013 19:29 - Vysvetlenie vzniku problému.
Tiskni
Sdílej:
Nejak my to nedošlo. Zrejme so to písal príliš rýchlo.
už to mám opravené. Pozri koniec blogu, tám je napisané, že som to dnes editoval.
Prejde to cez chsh
Zaujimavé je ,že tento zápis dovolí len rootovi ale zarazí to pre obyčajného užívateľa. Pritom pam_shell.so je ako prvý v /etc/pam.d/chsh
.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.