Если пользователь выполняет команду вроде
sudo /etc/init.d/apache2 restart
Я хотел бы обнаружить это и предотвратить выполнение этого скрипта.
Могу ли я сделать это без изменения скрипта apache2
?
Если пользователь выполняет команду вроде
sudo /etc/init.d/apache2 restart
Я хотел бы обнаружить это и предотвратить выполнение этого скрипта.
Могу ли я сделать это без изменения скрипта apache2
?
Скорее всего, вы хотите sudo chmod o-x /etc/init.d/apache2
. Это предотвратит запуск пользователем apache2 любым пользователем, если он не является суперпользователем, владельцем файла или членом его группы.
Проверьте chmod вики для получения дополнительной информации.
Вы можете ограничить, какие команды может выполнять пользователь, и даже какие привилегии они могут выполнять эти команды, используя sudo. Все эти настройки выполняются в /etc/sudoers
, который редактируется командой visudo
.
Самая базовая конфигурация, которая обычно устанавливается вместе с sudo и позволяет пользователям в группе wheel выполнять программы от имени пользователя root. Страница man sudoers(5) содержит обширную информацию о том, как настроить sudo таким образом, чтобы пользователь мог выполнять только ту программу, к которой у него должен быть доступ, и какие разрешения он должен иметь для выполнения программы.
Также обратите внимание, что даже если у пользователя есть полномочия на выполнение команды, sudo регистрирует все случаи использования. Обычно это ваш системный журнал, местоположение которого зависит от того, как у вас настроены журналы и ведение журналов в вашей системе.
Если вы смотрите на простые эксперименты (в отличие от истинного желания помешать кому-либо выполнить программу, но при этом дать ему ключи от вашего королевства через sudo), вы, вероятно, могли бы написать скрипт-обертку для sudo. В сценарии оболочки либо перехватите сообщение журнала, чтобы определить, была ли запрошена нежелательная программа, либо еще лучше просто посмотрите на запрошенную команду для запуска с привилегиями sudo и либо передайте команду на sudo в обычном режиме, либо отклоните действие. Просто имейте в виду, что сценарий-обертка также может быть обойден, если пользователь знает и может получить доступ к пути к двоичному файлу sudo.
Вы, вероятно, должны удалить их разрешения sudo
. Вы ничего не можете сделать, чтобы они не могли "отменить", если они у них есть. Если вы не можете доверять им разрешения, то они не должны иметь их в первую очередь.