Такой вопрос заставляет меня бить себя по лбу. Я нахожусь с другой стороны безопасности: «безопасность не должна вмешиваться в пользовательский опыт, если только это не ожидается или требуется для предотвращения обычного человека, совершающего злонамеренную деятельность».
Предотвращение использования 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, однако логично было бы предположить, что, если вам придется пойти по этому пути, может быть лучше реализовать веб-файловый менеджер. Таким образом, он работает от имени пользователя, на котором работает веб-сервер, поэтому нет проблем с правами доступа к файлам, и вы все равно можете иметь детальный контроль над тем, кто и какие файлы редактирует.
Мои два цента в любом случае.