Tab Autocomplete for New User

Solution 1:

Check what shell 'newuser' is using. Make sure it's one that actually supports tab completion (like bash or zsh).

You can determine what shell the user is using using the following command

# getent passwd rodjek
rodjek:x:1001:1001:x:/home/rodjek:/bin/zsh

You can change the users shell using the chsh command

# chsh -s /bin/bash rodjek

Solution 2:

When you add a user with useradd there is no special shell added.
You can see this with the command:cat /etc/passwd

test1:x:1004:1005:,,,:/home/test1:/bin/bash
test3:x:1007:1008::/home/test3:

You can see that the user test1 has a shell of /bin/bash but the user test3 has no shell added.

To fix this you can change the shell of user test3 with this command:

chsh -s /bin/bash test3

Or when you create a new user you can use the s option:

useradd -s /bin/bash test4

Solution 3:

On my system tab autocompletion is added by:

if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi

in .bashrc. Bashrc doesn't get created for new users since it doesn't exist in /etc/skel. Create .bashrc in /etc/skel with the above code in and it will work for new users. Then copy the file to the new user you just created so it works for them too.

Tags:

Linux

Useradd