Пользователь irc в #Vim убедил меня не использовать Sudo с Vim как:
sudo vim bad_idea
Когда я делаю что-то в таких местах, как / var / www /, я не могу писать без него. Так что неиспользование sudo становится проблемой. Конечно, я могу вносить изменения в разных местах, таких как / tmp /, а затем копировать каталоги в / var / www. Однако я чувствую более легкий путь.
- Если вы не "sudo Vim", почему?
- Если да на первый вопрос, как вы обходите проблемы, не использовать sudo?
См. Https://stackoverflow.com/questions/1005/getting-root-permissions-on-a-file-inside-of-vi :
источник
vim позволяет пользователям выполнять произвольные команды оболочки, поэтому многие системные администраторы не разрешают использовать vim с sudo.
rvim включен в vim. Это ограниченный vim, который не допускает команд оболочки. (Или разрешить вам приостановить vim по тем же причинам.)
Вопрос о том, нужно ли вам переходить к этим крайностям на вашем собственном поле, спорен.
источник
sudo vim
затем введите:!bash
и вы получите оболочку от имени пользователя root - именно поэтомуrvim
существуетsudo bash
илиsudo su -
правы?vi
запускаетсяvim
но как rootvi
запускаетvi
. На Ubuntuvim
используется в обоих случаях, аsudo vi
также запускаетvim
...При редактировании общесистемных файлов конфигурации это совершенно нормально - просто всегда помните, что вы root, и, таким образом, обладаете всей мощью, и отбрасывайте эти привилегии, как только они вам больше не нужны.
В особом случае
/var/www/
, т. Е. На страницах веб-сервера, вы можете подумать об изменении некоторых владельцев / групп / разрешений, но если и насколько это сильно зависит от вашей конкретной настройки (один / несколько пользователей, реальный веб-сервер / только локальный хост, динамический / статические и т. д.)источник
Такой вопрос заставляет меня бить себя по лбу. Я нахожусь с другой стороны безопасности: «безопасность не должна вмешиваться в пользовательский опыт, если только это не ожидается или требуется для предотвращения обычного человека, совершающего злонамеренную деятельность».
Предотвращение использования vim в sudo - это просто помощь группы. Как говорилось ранее, кто-то может просто использовать:
Или
Или
Или
ЭСТ
Если вы действительно беспокоитесь о том, что кто-то делает что-то вредоносное на коробке, не давайте им привилегий sudo (или, очевидно, пароля root), точка. Для предотвращения злонамеренных действий с использованием sudo не существует хитрого маркера, и вы просто сведете с ума, «применив» все «исправления», чтобы убедиться, что человек не может сделать что-либо вредоносное.
Кто-то упомянул смену владельца / группы. Это неприятная проблема, как будто веб-сервер запущен от имени другого пользователя, и вы изменили права доступа к файлу, теперь ваш сайт неожиданно не работает. Ну, очевидно, это тебе не поможет. Вы можете добавить себя в группу, в которой работает веб-сервер, однако, если у группы нет прав на запись в файлы, вам необходимо выполнить команду chmod -R g + w * (или отдельные файлы chmod), которая может не выполняться. то, что вы хотите, и может быть хлопот, если вам нужно chmod каждый файл.
Некоторые люди даже предложили использовать rvim. Конечно, можно просто добавить строку в / etc / sudoers, чтобы позволить только определенным пользователям использовать sudo rvim, однако логично было бы предположить, что, если вам придется пойти по этому пути, может быть лучше реализовать веб-файловый менеджер. Таким образом, он работает от имени пользователя, на котором работает веб-сервер, поэтому нет проблем с правами доступа к файлам, и вы все равно можете иметь детальный контроль над тем, кто и какие файлы редактирует.
Мои два цента в любом случае.
источник
Запуск
sudo vim
не изменит$HOME
каталог, поэтому вы будете запускать Vim с правами root, но$HOME
по-прежнему будете указывать на вашего обычного пользователя.Если вы запускаете Vim в первый раз, может случиться так, что
~/.viminfo
файл будет создан в вашем обычном пользовательском каталоге, но с правами root.источник
sudo vim -c '!echo $HOME' -c q
выдает мою домашнюю папку, а на моем сервере -/root
. Возможно, мне придется взглянуть на то, почему это так, может быть потому, что у одного OS X, а у другого Gentoo, или что-то, что связано с/etc/sudoers
настройкой..viminfo
был доступен только для root.ЕСЛИ ЭТО ВАШ СОБСТВЕННЫЙ КОМПЬЮТЕР ... Я не вижу причин, по которым вы не можете использовать 'sudo vim', кроме крайнего случая, который заметил Денилсон - что он может создать ваш ~ / .viminfo, принадлежащий root.
Если нет - если системный администратор ограничивает то, что вы можете и не можете делать - для "man sudo": "в большинстве систем можно предотвратить побег оболочки с помощью функции sudo noexec. Подробнее см. В руководстве sudoers (5). "
Так что в этом случае, если ваш системный администратор обеспокоен тем, что вы можете запускать подоболочки как root изнутри vim, они могут использовать возможность noexec. Но ... вернемся к первоначальному случаю - если это ВАШ компьютер, я думаю, что вы чертовски безопасно работаете с sudo vim.
источник
Ссылка на ответ Бальфы о группах:
Howto: Linux Добавить пользователя в группу
источник