useradd 在 Debian Squeeze 上无法正常工作

useradd 在 Debian Squeeze 上无法正常工作

系统:Debian-60-squeeze-64-LAMP 2.6.32-5-amd64

以 root 身份在 ssh 控制台中创建一个用户:

useradd -m -G users myuser
passwd myuser
xxxxxx
xxxxxx

su myuser 或通过 ssh 登录后我得到:

\[\033[01;31m\]\u\[\033[01;33m\]@\[\033[01;36m\]\h \[\033[01;33m\]\w \[\033[01;35m\]$ \[\033[00m\] plus the cursor

使用 Tab 键时光标只会向前跳转,因此这里没有完成。

而且箭头键不起作用,如果我使用右箭头键,我会得到:^[[C

什么可能导致这种现象?

答案1

useradd 使用 /etc/default/useradd 来选择为新用户提供哪个 shell。adduser 使用 /etc/adduser.conf,通常是您想要的交互式用户,而不是系统帐户等。

至少在我的安装中,useradd 选择 /bin/sh (链接到 /bin/dash)作为 shell,而 adduser 选择 bash。

chsh /bin/bash myuser

将修复外壳我的用户,切换到添加用户代替用户添加将会避免将来再发生此类问题。

答案2

或者,如果您确实坚持使用 useradd 而不是 adduser,请将“-s /bin/bash”附加到您的 useradd 命令之后。

答案3

来自useradd手册页:

useradd 是一个用于添加用户的低级实用程序。在 Debian 上,管理员通常应使用 adduser(8)。

尝试重新创建用户,但使用adduser。我见过它在不同场合效果更好。

相关内容