Řešení 1:
Zkontrolujte, jaký shell 'newuser' používá. Ujistěte se, že skutečně podporuje doplňování karet (jako bash nebo zsh).
Pomocí následujícího příkazu
můžete určit, jaký shell uživatel používá# getent passwd rodjek
rodjek:x:1001:1001:x:/home/rodjek:/bin/zsh
Uživatelský shell můžete změnit pomocí příkazu chsh
# chsh -s /bin/bash rodjek
Řešení 2:
Když přidáte uživatele s useradd
není přidán žádný speciální shell.
Můžete to vidět pomocí příkazu:cat /etc/passwd
test1:x:1004:1005:,,,:/home/test1:/bin/bash
test3:x:1007:1008::/home/test3:
Můžete vidět, že uživatel test1
má shell /bin/bash
ale uživatel test3
nemá přidaný žádný shell.
Chcete-li to opravit, můžete změnit shell uživatele test3
pomocí tohoto příkazu:
chsh -s /bin/bash test3
Nebo při vytváření nového uživatele můžete použít volbu s:
useradd -s /bin/bash test4
Řešení 3:
Na mé systémové kartě přidává automatické dokončování:
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
v .bashrc. Bashrc se nevytváří pro nové uživatele, protože neexistuje v /etc/skel. Vytvořte .bashrc v /etc/skel s výše uvedeným kódem a bude fungovat pro nové uživatele. Poté zkopírujte soubor novému uživateli, kterého jste právě vytvořili, aby fungoval i pro něj.