Назад | Перейти на главную страницу

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

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

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

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

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

:w !sudo tee %

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

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