问题描述
我使用 rkhunter
并且我想检查它的日志:
nano /var/log/rkhunter.log
但是 nano
输出了这个错误:
Error reading /home/arthur-dent/.nano_history: Permission denied
Press Enter to continue starting nano.
如果我按 ENTER
我就可以查看该文件。我已经检查了该文件的权限,现在它们是:
-rw------- 1 root root 12 May 3 20:26 .nano_history
所以我想我只是将所有权改回给我?但由于我实际上只是使用 nano
,为什么权限和所有权(可能,因为我不知道原始所有权是什么)会突然改变?是因为我只是将它与 sudo
一起使用,如果是这样,那就很奇怪,因为以前从未发生过这样的事情,而且我经常将 sudo
与它一起使用?
操作系统信息:
Description: Ubuntu 15.04
Release: 15.04
套餐信息:
nano:
Installed: 2.2.6-3
Candidate: 2.2.6-3
Version table:
*** 2.2.6-3 0
500 http://gb.archive.ubuntu.com/ubuntu/ vivid/main amd64 Packages
100 /var/lib/dpkg/status
最佳答案
如果 .nano_history
不存在并且您以 root 身份编辑任何文件,则可以这样做。使用 Ctrl
+ W
启动搜索操作,并且 .nano_history
的所有权错误。
sudo chown arthur-dent:arthur-dent /home/arthur-dent/.nano_history
此后,该文件的所有权将不会更改。
我测试过:
% ls -l .nano_history
ls: cannot access .nano_history: No such file or directory
% sudo nano ~/tmp/<any_file>
Ctrl
+ W
搜索任何东西。
Ctrl
+ X
% ls -l .nano_history
-rw------- 1 root root 6 Mai 3 22:08 .nano_history
% sudo chown aboettger:aboettger .nano_history
% ls -l .nano_history
-rw------- 1 aboettger aboettger 6 Mai 3 22:08 .nano_history
% sudo nano ~/tmp/<any_file>
Ctrl
+ W
搜索任何东西。
Ctrl
+ X
% ls -l .nano_history
-rw------- 1 aboettger aboettger 11 Mai 3 22:11 .nano_history
次佳答案
当您不拥有通常包含在主目录中的 .nano_history 文件时,可能会发生这种情况。当我第一次在 Ubuntu 安装上与 sudo 一起运行 nano 时,就发生了这种情况。这意味着 .nano_history 由 root 所有并且不可读,除非每次都将 sudo 与 nano 一起使用。当不使用它时,nano 在启动时会抱怨 ‘Permission denied’。将其准确复制并粘贴到您的终端中以解决问题:
sudo chown $USER:$(id -gn) $HOME/.nano_history