我已经创build了一个新的Ubuntu服务器。 当我以root身份login时,我看到:
root@server:
我创build了一个用户。 当我作为新用户SSHlogin时,我看到:
$
当我按下向上箭头键时,我看到我input的最后一个命令。 当我按下向上箭头键作为新用户时,我看到:
$^[[A
按照预期的方式删除根目录。 作为新用户,删除键插入:
^[[3~
LS提供根目录的颜色编码结果,新用户没有颜色。 其他一些小烦恼也存在。
我假设有一个configuration文件的地方是为所有这些东西设置的根。 我怎样才能将这些UI细节应用到我创build的新用户呢?
您的新用户没有与root用户相同的shell。
以root身份打开/etc/passwd
find你的根用户线。 它将靠近顶部,看起来像这样:
root:x:0:0:root:/root:/bin/bash
/ bin / bash部分很重要。
现在find你的新用户。 他们可能有/bin/sh在同一个地方,根有/bin/bash 。
用/bin/bashreplace/bin/sh ,然后再次以新用户身份login。 这应该解决它。
要为所有用户永久性地创build默认shell /bin/bash ,请以root用户身份执行此操作:
useradd -D -s /bin/bash
你可以通过useradd -D来validation这个设置,并且观察SHELL= line的值。
为了确保为每个人提供类似的用户体验,您必须执行两个步骤:
chsh -s /path/to/shell username 。 Cat / etc / shells来查看你的系统有哪一个 usermod -s /path/to/shell username vipw 。 您正在以这种方式直接编辑用户数据库。 在错误的地方删除一个angular色,你已经locking了自己。 你被警告。 有关vipw的相关提示 – 许多人不知道如何使用vi。 不要仅仅为了使用vipw而学习它,你可以在启动vipw之前在环境中导出一个不同的编辑器。 例:
# export EDITOR=nano # vipw
这将通过纳米启动vipw包装
为useradd你不想每次创build一个新的用户,你可以做“
编辑/ etc / default / useradd框架文件(不要忘了做一个备份)。
编辑SHELLvariables为/ bin / bash而不是/ bin / sh。
现在,每次使用useradd添加新用户bash都会自动将其默认shell。 “如果你想改变已经存在的用户的shell,你必须编辑/ etc / passwd文件(请确保备份了它)。