Большую часть времени я редактирую файл с помощью nano, пытаюсь сохранить и получить ошибку разрешения, потому что я забыл запустить его как sudo. Есть ли какой-нибудь быстрый способ, которым я могу стать sudo без необходимости заново открывать и редактировать файл?
command-line
sudo
nano
Кит Сунде
источник
источник
vim
. Я рассматриваю слияние ... хотя я также рассматриваю тот факт, что конкретные инструкции vim не будут работатьnano
.nano
нетvim
... и нетnano
решений, которые похожи наvim
это представили себя.Ответы:
Нет, вы не можете дать работающей программе разрешения, которых у нее нет при запуске, это будет дырой в безопасности, известной как «повышение привилегий».
Вы можете сделать две вещи:
sudo cp $TMPFILE $FILE
, Обратите внимание, что не рекомендуется использоватьmv
для этого из-за изменения владельца файла и прав доступа, которые это может вызвать, вы просто хотите заменить содержимое файла, а не сам заполнитель файла.fg
чтобы вернуться в редактор и сохранить. Не забудьте исправить разрешения!¹ Некоторые редакторы действительно могут сделать это, запустив новый процесс с другими разрешениями и передав данные в этот процесс для сохранения. Посмотрите, например, этот связанный вопрос для других решений в продвинутых редакторах, которые позволяют записывать файловый буфер в канал процесса. Nano не имеет возможности запускать новый процесс или передавать данные другим процессам, поэтому он не входит в эту группу.
источник
:w !sudo tee
Я только что попробовал
nano
, и что меня больше всего удивило, так это то, что он даже не предупреждает вас, что файл доступен только для чтения, когда вы начинаете пытаться редактировать файл. ( ОБНОВЛЕНИЕ: очевидно, nano 2.2 предупреждает; 2.0 нет. )Вот (основной) скрипт, который это делает.
Он проверяет, можете ли вы отредактировать файл, и если вы не можете, вместо этого запускает «nano» от имени пользователя root.
/ usr / local / bin / edit (или ~ / bin / edit )
И команду, которую я вызвал,
view
чтобы вы могли избежать запроса, если знаете, что не собираетесь вносить какие-либо изменения./ usr / local / bin / view (или ~ / bin / view )
Уже есть программа под названием
view
Vi / Vim, поэтому не стесняйтесь предлагать более подходящее имя.(Но я думаю, что полная реализация этой программы сделает
view
излишним Vi .)Полные версии
источник
[ Read ... lines (Warning: No write permission) ]
это то, что появляется прямо над двумя строками справки для ярлыков (внизу экрана). Нано версия 2.2.4.