На этот вопрос уже есть ответы где-то на этом сайте, хотя мне не удалось его найти.
Но в основном все сводится к следующему:
sudo nano /etc/network/interfaces
запускает nano /etc /network /interfaces как uid 0. Поскольку nano работает с uid 0 и имеет разрешение на запись в /etc /network /interfaces.
sudo echo something > /etc/network/interfaces
запускает echo что-то как uid 0. Эта часть успешна. Вывод перенаправляется с помощью >
to /etc /network /interfaces`. Однако это перенаправление выполняется с вашей учетной записью. И тот не имеет права писать в это место.
Попробуйте это вместо этого:
sudo bash -c "echo something > /etc/network/interfaces"
Это должно запустить bash как uid 0, и позволить bash выполнить всю команду как uid 0.
Или просто su -
рутировать. Запускать все время с правами root не рекомендуется, однако бывают случаи, когда вы просто хотите получить достаточные права, не вводя команду sudo перед каждой строкой. Просто не используйте root в качестве основного пользователя. С его помощью можно установить и настроить систему.