Ubuntu - 命令历史不适用于新创建的用户

Tig*_*ger 2 18.04

我创建了一个新用户

useradd -d / -G www-data dsweb
sudo passwd dsweb
usermod -aG sudo dsweb
Run Code Online (Sandbox Code Playgroud)

我以该用户的身份成功登录,但是当我尝试按向上键时,它向我显示了类似的内容,^[[A而不是我刚才输入的命令。如果以 root 用户身份登录,一切正常。

我如何使它工作?

Per*_*uck 5

所述git开发者说话的管道(低电平)和(高电平)的命令。 useradd是管道。您应该使用adduser(=porcelain) 代替。

useradd的联机帮助页

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

使用时,useradd您需要从字面上指定所有内容,例如主目录和登录 shell。adduser另一方面,他们有合理的默认值。正如@steeldriver 在评论中指出的那样,您的体验要么是由于/作为主目录(那里没有写权限)和/或错误的无登录 shell。adduser处理这一切。因此:

adduser dsweb           # create user with default settings (like $HOME, $SHELL)
adduser dsweb www-data  # add him to group www-data
adduser dsweb sudo      # ... and sudo
Run Code Online (Sandbox Code Playgroud)

是的,我们有两个命令adduseruseradd. 我自己总是要查找哪个是哪个。

要删除之前创建的dsweb用户,请使用deluser dsweb. 不要提供--remove-home,因为你创造了他开关/为$ HOME,你不希望删除。

  • PerlDuck 不知道 perl 脚本???无论如何都要+1... **;-)** (2认同)