nano / vi открывает защищенный от записи файл от имени неавторизованного пользователя - Могу ли я перейти на более высокий уровень для сохранения?

Я чаще, чем хочу признаться, открываю конфигурацию как не-суперпользователь и буду вносить необходимые мне изменения. Как только я сохраняю в nano или vi, я получаю ошибки с правами доступа.

На этом этапе я перехожу в режим c / p foo, чтобы закрыть и снова открыть с помощью sudo .

Есть ли способ перейти к суперпользователю, чтобы сохранить без закрытия и повторного открытия в vi или nano?

0
задан 13 June 2017 в 00:27
1 ответ

Я не знаю насчет nano, но знаю, что вы можете записать файл, к которому у вас нет разрешения, в vim. Попробуйте выполнить эту команду:

:w !sudo tee %

Это сохранит файл, даже если у вас нет на него разрешения. Натан Лонг дает прекрасное объяснение того, как это работает здесь , но я также дам краткое объяснение.

: w не означает сохранить , это означает напишите . В этом случае : w! Foo означает запись во внешнюю команду foo . В этом случае внешняя команда - sudo tee% , где % - это имя текущего файла. Tee будет записывать данные в указанный файл и STDOUT одновременно, и, поскольку мы запускаем его с помощью sudo, у него есть необходимые разрешения для записи файла.

1
ответ дан 4 December 2019 в 16:14

Теги

Похожие вопросы