Lösung 1:
Überprüfen Sie, welche Shell 'newuser' verwendet. Stellen Sie sicher, dass es tatsächlich die Tab-Vervollständigung unterstützt (wie bash oder zsh).
Mit dem folgenden Befehl können Sie feststellen, welche Shell der Benutzer verwendet
# getent passwd rodjek
rodjek:x:1001:1001:x:/home/rodjek:/bin/zsh
Sie können die Benutzer-Shell mit dem chsh-Befehl
ändern# chsh -s /bin/bash rodjek
Lösung 2:
Wenn Sie einen Benutzer mit useradd hinzufügen Es wird keine spezielle Shell hinzugefügt.
Sie können dies mit dem Befehl sehen:cat /etc/passwd
test1:x:1004:1005:,,,:/home/test1:/bin/bash
test3:x:1007:1008::/home/test3:
Sie können sehen, dass der Benutzer test1 hat eine Shell von /bin/bash aber der Benutzer test3 hat keine Shell hinzugefügt.
Um dies zu beheben, können Sie die Shell des Benutzers test3 ändern mit diesem Befehl:
chsh -s /bin/bash test3
Oder wenn Sie einen neuen Benutzer erstellen, können Sie die Option s verwenden:
useradd -s /bin/bash test4
Lösung 3:
Auf meiner Systemregisterkarte wird die automatische Vervollständigung hinzugefügt von:
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
in .bashrc. Bashrc wird für neue Benutzer nicht erstellt, da es nicht in /etc/skel existiert. Erstellen Sie .bashrc in /etc/skel mit dem obigen Code und es funktioniert für neue Benutzer. Kopieren Sie dann die Datei auf den neuen Benutzer, den Sie gerade erstellt haben, damit sie auch für ihn funktioniert.