我做了一个新的Linux用户
useradd -d /var/www/mywebsite.com -m newuser passwd newuser
我使用以下命令通过login到服务器来testing帐户
ssh [email protected]
login后,shell不让我做标签自动完成。 例如,我会input/ var / www / myweb {tab},但是tab键只在shell中input一个空格。 另外,按向上和向下箭头键不会给我最近input的shell命令。
当我以root身份login时,一切正常。 但是,当我以新用户的身份login时,它不起作用。
我错过了什么?
谢谢
检查'newuser'使用的是什么shell。 确保它是一个实际上支持标签完成(如bash或zsh)的标签。
您可以使用以下命令确定用户正在使用的shell
# getent passwd rodjek rodjek:x:1001:1001:x:/home/rodjek:/bin/zsh
您可以使用chsh命令更改用户shell
# chsh -s /bin/bash rodjek
在我的系统选项卡上,autocompletion被添加:
if [ -f /etc/bash_completion ]; then . /etc/bash_completion fi
在.bashrc中。 Bashrc不会为新用户创build,因为它不在/ etc / skel中。 使用上面的代码在/ etc / skel中创build.bashrc,它将适用于新用户。 然后将文件复制到刚刚创build的新用户,以便它们也能工作。
你有没有检查你的新用户有相同的shell作为你的root用户? 它似乎是你的根用户打了你喜欢的东西,你的新用户有一个ksh或类似的东西。 看看/ etc / passwd文件或SHELL环境variables。
创build帐户之前,文件夹/var/www/mywebsite.com是否存在?
你能检查/ etc / skel的内容被复制到主目录/var/www/mywebsite.com吗?
新帐户是否得到不支持自动完成的不同的shell?