当我在 SVN 存储库提交更改时,我总是在 Ubuntu 终端中遇到以下问题:
Error reading /home/ssylee/.nano_history: Permission denied
有什么想法可以解决它吗?
答案1
这通常是由运行 引起的sudo nano [file]
。这将以 root 身份运行 nano 进程,但保留$HOME
设置为普通用户的主目录,因此如果 nano 创建任何文件(包括 .nano_history 文件),它将归 root 所有并放置在您的主目录中。
您可以通过运行来验证这一点:
ls -l /home/ssylee/.nano_history
如果ls
报告文件所有者为root
,那么您可以合理地确定这是原因。如果是,则可以通过运行以下命令修复此情况:
sudo chown $USER: ~/.nano_history
或者拼写出该命令:
sudo chown ssylee: /home/ssylee/.nano_history
一个更好的习惯是使用sudoedit
或sudo -e
代替sudo nano
。这将$EDITOR
在正在编辑的文件副本上运行程序,然后在编辑器退出时自动替换原始文件(这在编辑系统文件时非常有用)。
默认情况下,这可能会启动vi
,但你可以通过如下方式调用它来暂时修复此问题:
EDITOR=nano sudoedit [filename]
您可以永久配置$EDITOR
您的.bashrc
,或通过放置
EDITOR=nano
在/etc/environment
。
答案2
chmod
最简单的方法是删除有问题的文件。其次最简单的方法是使用/使其可读chown
。再其次最简单的方法是使用不同的编辑器。
答案3
我总是用这个:
sudo chown -R username:username /home/username
解决了权限混乱的问题。
答案4
只需按如下方式更改文件的权限.nano_history
:
sudo chown youruser:yourgroup /home/<username>/.nano_history
完成!消息消失了!=)真的就这么简单。