Soluzione 1:
Controlla quale shell sta usando 'newuser'. Assicurati che sia uno che supporti effettivamente il completamento tramite tabulazione (come bash o zsh).
Puoi determinare quale shell sta usando l'utente usando il seguente comando
# getent passwd rodjek
rodjek:x:1001:1001:x:/home/rodjek:/bin/zsh
Puoi cambiare la shell dell'utente usando il comando chsh
# chsh -s /bin/bash rodjek
Soluzione 2:
Quando aggiungi un utente con useradd
non è stata aggiunta alcuna shell speciale.
Puoi vederlo con il comando:cat /etc/passwd
test1:x:1004:1005:,,,:/home/test1:/bin/bash
test3:x:1007:1008::/home/test3:
Puoi vedere che l'utente test1
ha una shell di /bin/bash
ma l'utente test3
non ha shell aggiunta.
Per risolvere questo problema puoi cambiare la shell dell'utente test3
con questo comando:
chsh -s /bin/bash test3
Oppure quando crei un nuovo utente puoi usare l'opzione s:
useradd -s /bin/bash test4
Soluzione 3:
Nella mia scheda di sistema il completamento automatico è aggiunto da:
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
in .bashrc. Bashrc non viene creato per i nuovi utenti poiché non esiste in /etc/skel. Crea .bashrc in /etc/skel con il codice sopra e funzionerà per i nuovi utenti. Quindi copia il file nel nuovo utente che hai appena creato in modo che funzioni anche per loro.