可能重复:
sudo 权限被拒绝
我需要通过 bash 脚本编辑 /etc/network/interfaces,我正在执行类似下面的操作...
sudo echo something > /etc/network/interfaces
当执行此行时,我收到下面提到的错误:
bash: /etc/network/interfaces: Permission denied
但是如果我用某个编辑器编辑同一个文件它就可以完美地运行...即
sudo nano /etc/network/interfaces
上面让我编辑这个文件。
答案1
虽然我没能找到,但该站点的某个地方已经回答了这个问题。
但基本上可以归结为以下几点:
sudo nano /etc/network/interfaces
开始纳米/等/网络/接口作为 uid 0。由于 nano 在 uid 0 下运行并且具有写入 /etc/network/interfaces 的权限。
sudo echo something > /etc/network/interfaces
开始呼应某事作为 uid 0。该部分成功。输出被重定向>
到 /etc/network/interfaces`。但是,此重定向是用您自己的帐户完成的。并且该帐户无权写入该位置。
尝试一下这个:
sudo bash -c "echo something > /etc/network/interfaces"
这应该以 uid 0 运行 bash,并让 bash 以 uid 0 执行整个命令。
或者干脆su -
以 root 身份运行。不建议一直以 root 身份运行,但有时您只是想拥有足够的权限,而不想在每一行前面都输入 sudo 命令。只是不要将 root 用作主用户。使用它来安装和配置系统是可以的。