Такой вопрос заставляет меня бить себя по лбу. Я нахожусь на другой стороне безопасности: «безопасность не должна мешать взаимодействию с пользователем, если только это не ожидается или не требуется для предотвращения обычного человека, совершающего злонамеренную деятельность».
Предотвращение использования vim в sudo - это просто помощь группы. Как было сказано ранее, кто-то может просто использовать:
sudo su -
Или же
sudo /bin/bash
Или же
sudo nano file
Или же
sudo my_exectuable_text_editor file
ЭСТ
Если вы действительно беспокоитесь о том, что кто-то делает что-то вредоносное на коробке, не давайте им привилегий sudo (или, очевидно, пароля root), точка. Для предотвращения злонамеренных действий с использованием sudo не существует ни единой пули, и вы только сведете с ума, "применив" все "исправления", чтобы убедиться, что человек не может сделать что-либо вредоносное.
Кто-то упомянул смену владельца / группы. Это неприятная проблема, как будто веб-сервер запущен от имени другого пользователя, и вы изменили права доступа к файлу, теперь ваш сайт неожиданно не работает. Ну, очевидно, это тебе не поможет.
Вы можете добавить себя в группу, в которой работает веб-сервер, однако, если у группы нет прав на запись в файлы, вам нужно выполнить команду chmod -R g+w * (или отдельные файлы chmod), которая может не выполняться. то, что вы хотите, и может быть хлопот, если вам нужно chmod каждый файл.
Некоторые люди даже предложили использовать rvim. Конечно, можно просто добавить строку в /etc /sudoers, чтобы разрешить sudo rvim только определенным пользователям, однако логично было бы предположить, что, если вам придется идти по этому пути, может быть лучше реализовать веб-файловый менеджер. Таким образом, он работает как пользователь, от имени которого работает веб-сервер, поэтому нет проблем с правами доступа к файлам, и вы все равно можете иметь детальный контроль над тем, кто и какие файлы редактирует.
Мои два цента в любом случае.