LINUX.ORG.RU
ФорумAdmin

Как ввести пароль sudo в vi/vim не выходя из него

 , , ,


3

4

Простите, может я мало искал, но как ввести пароль sudo в vi/vim не выходя из него.

Раздражает когда забываешь писать sudo и после больших изменений нельзя сохранять результат. Приходится копировать изменения в другой файл…

Проблема XY.

как ввести пароль sudo в vi/vim не выходя из него

можно как угодно. взял да ввёл.

вопрос чего хочется этим добиться… То чего ты хочешь придётся делать не введением пароля sudo куда либо. Вернее, не им одним.

mrjaggers
()

Кстати, если бы не эта тема, не узнал бы, что есть оказывается простое решение, кроме как начать все сначала и с sudo. )

Выше написали, но я уже нашел, плюс как забиндить.

krasnh ★★★★
()
Ответ на: комментарий от EXL

Нда… Тема крутая, но вот получаю в итоге

'!sudo /etc/fstab.back' No such file or directory

Единственное, что нашёл как вариант, это без w, но это не сохранит сделаный прогресс

!sudo vi %
SaintAnd
() автор топика
Последнее исправление: SaintAnd (всего исправлений: 2)
Ответ на: комментарий от krasnh

Видимо в vi эта штука не работает, а только в vim. Да, я пробовал вместо процента и прямой путь указывать, но не сработало тоже. Это в Porteus 5, Не удалось узнать версию vi vi –version BusyBox v1.35.0 (2022-01-01 18:14:40 AEST) multi-call binary.

А вот в centos всё работает, спасибо.

Тут какие-то люди, пишут странные речи, что мол вместо имени файла tee используют. Что сказать, печально, что ничего путного не может сообщить. Возможно это нейросеть…

SaintAnd
() автор топика
Ответ на: комментарий от SaintAnd

Видимо в vi эта штука не работает, а только в vim.

Ну, у vi урезанный функционал в сравнении с vim. Это общеизвестно. )

Наверно еще влияет, что это vi BusyBox`а.

krasnh ★★★★
()
Последнее исправление: krasnh (всего исправлений: 1)
Ответ на: комментарий от krasnh

Если бы vim поставляли со всеми древними дистрибутивами и так же он был в initramfs из коробки, то было бы шикарно, но это не так, поэтому и приходится со старой версии возиться, чтобы не было неожиданностью отсутсвие vim или текстового редактора…

SaintAnd
() автор топика
Ответ на: комментарий от SaintAnd

Я сам уже не представляю редактирования без vim, и там где его нет обхожусь vi, который должен быть дефолтным во всех дистрах. Конечно он не совсем удобен, но что уж … )

Кстати на ЛОРе есть статья vim для самых маленьких . Может полезна будет.

krasnh ★★★★
()

Раздражает когда забываешь писать sudo и после больших изменений нельзя сохранять результат.

Снеси sudo и нечего будет забывать. В который раз повторю: вместо «вот я юзер но сейчас введу sudo чтоб изменить системный файл» следует делать «для изменения системного файла нужен администратор, поэтому залогинюсь сейчас за рута и всё сделаю». sudo не нужно, оно насаждает виндузятные привычки и дефективную идеологию «повышения прав».

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

И да и нет. Если это вариант «поддиванного» то sudo не особо уперлось, лишняя прослойка. Если вариант ынтерпрайз сервака, у которого чуть больше одного админа, которые занимаются разными сервисами, то sudo не самый плохой вариант. Ну и на десктопе sudo вполне рулит, скачал пользак какую-то хрень, а она требует рутовых прав, пользак иногда может и задуматься «а шо это за хрень я скачал».

anc ★★★★★
()

для таких целей давно придумана специальная тулза, sudoedit (не учитывая тот факт что sudo давно пора выкинуть на помойку и использовать doas вместо него, для doas есть doasedit). Она делает это автоматически: делает временную копию файла, ты редактируешь эту временную копию без рута, когда сохраняешь и выходишь - просит ввести пароль рута и копирует твои изменения обратно.

Lrrr ★★★★★
()
Ответ на: комментарий от Lrrr

Это конечно дело привычки использовать sudoedit file, но vi file как-то быстрее и интуитивнее набирать. Вообщем, понятно, проще алиасы создать.

А doasedit где его из коробки возьмёшь?

SaintAnd
() автор топика
4 марта 2024 г.
Ответ на: комментарий от SaintAnd

Дело не в этом. А в том, что sudoedit генерирует случайное имя временного файла, из-за чего ломается подсветка. Пример:

sudo vim /etc/passwd       - норм
sudoedit /etc/passwd       - подсветка не работает

Происходит это из-за того, что редактируется на самом деле файл /var/tmp/passwd.СЛУЧАЙНОЕ_ЧИСЛО и редактор этого не понимает.

Werenter ★★☆
()
Последнее исправление: Werenter (всего исправлений: 1)