对于一个项目,我有两台服务器,分别是暂存服务器和生产服务器。这个项目非常老了,我还没有将操作系统从 Ubuntu 14.04 升级。由于无法升级,最近我将生产服务器迁移到了装有 Ubuntu 20.04.2 的新 VPS。我不确定我哪里出了问题,但现在的症状如下:
沃融推广
每当我以 root 身份通过 SSH 进入服务器时,一切正常,但是当我切换到普通用户时,su appuser
提示符变为空白$
,没有用户名,没有主机名,也没有路径。
无自动完成功能
此外,我无法自动完成命令中的路径。也就是说,当我输入/ho
并点击时TAB,行不会变成/home
文字制表符,而是会像 一样添加/ho
。
没有命令历史记录
当我按下该UP键时,该行不是获取最后执行的命令,而是变成了$ ^[[A
。
Cron 作业未执行
我有几个 cronjob,我确信它们调用的定义行或服务没有问题,因为它们在旧生产服务器中工作,并且仍然在临时服务器中工作。这些作业在新服务器上根本不执行。
缺少文件
我比较了临时服务器和新生产服务器上的文件列表,发现新服务器中缺少许多文件。例如,新.bashrc
服务器的/home/appuser
目录中没有文件。我手动添加了文件,但没有任何变化。所以我想我应该寻求帮助。
我该如何修复appuser
?
答案1
默认 shell 看起来就像是一个“最小”shell。如果您希望应用用户拥有与根您应该将默认 shell 更改为/bin/bash
。
您可以通过编辑文件/etc/passwd
并使用您喜欢的文本编辑器(例如、或)将 替换/bin/sh
为 来做到这一点,或者另一个选项是使用以下命令,例如:/bin/bash
vi
vim
nano
chsh
chsh appuser -s /bin/bash
希望能帮助到你!