我经常使用nano
它通过 ssh 快速编辑。如果我将它与sudo
虽然结合使用,我的.nano_history
文件将变得无法读取,无法sudo
编辑。我最终收到以下警告:
Error reading /home/user-name/.nano_history: Permission denied
有没有什么方法可以分离历史文件,以便我仍然可以访问非sudo
历史记录?
短暂性脑缺血发作
答案1
默认情况下,sudo
只会提升您的权限,但会保留旧环境(不是全部,但至少$HOME
会保留)。因此,如果不至少弄乱 bash 别名,就不可能做您想做的事情……
解决这个问题最简单的方法是只需将chown
现有的历史文件提供给您自己的用户. 然后 nano 就可以以您和 root 身份正常工作了。(历史文件仅被附加;它们永远不会被自动删除,因此所有权将保留。)
答案2
为了避免其他点文件出现类似问题,我建议使用 sudo 以超级用户身份登录,而不是仅向当前用户授予权限:
sudo su -
请注意,一些商店不赞成使用超级用户,更喜欢 RBAC 方案,但根据您使用 sudo 的方式,我猜您的商店不是其中之一。
答案3
尝试使用-H
sudo 开关。该选项设置$HOME环境变量到目标用户的主目录,通常/根. sudo -H nano <file>
将使用 root 的.nano_history文件而不是您自己的文件。