無法在 Ubuntu 中透過 bash 腳本編輯“/etc/network/interfaces”檔案

無法在 Ubuntu 中透過 bash 腳本編輯“/etc/network/interfaces”檔案

可能的重複:
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開始奈米/etc/網路/接口作為 uid 0。

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 作為主用戶。用它來安裝和設定係統就可以了。

相關內容