Я нахожусь в процессе настройки специализированного sudo для нашей группы поддержки первой линии. Я хочу разрешить им удалить что-либо из / var / log /
. Однако приведенная ниже команда применяется только к файлам непосредственно в / var / log /
, а не к его подкаталогам. Если они попытаются удалить из / var / log / directory / file_name
, им не разрешено удалить файл. Я пробовал читать, но не могу понять, как изменить эту команду, чтобы сделать разрешения рекурсивными. Любой совет будет принят во внимание.
%front_line ALL=(ALL) NOPASSWD: /bin/rm /var/log/*
Ну, это не ответ, но я бы порекомендовал вам никогда, НИКОГДА НЕ используйте *
вместе с бинарными файлами, такими как rm
. Только представьте себе последствия следующей команды
rm -rf /var/log/../../*
Ваш набор правил разрешает выполнение этой команды. Вам нужно более тщательно разработать свой набор правил. По возможности старайтесь избегать *
.
Я думаю, что вы делаете это неправильно TM . Вы не можете просто удалить такие файлы журналов, вам в основном необходимо перезапустить соответствующие демоны, которые также генерируют файлы журналов. Ошибка сервера полна вопросов от людей, которые удалили файл журнала, а затем в какой-то момент в будущем «неожиданно» закончилось свободное место на диске.
Многие из демонов, записывающих в / var / log, открывают файл при запуске и затем удерживают файл открытым до перезапуска или (если это запрограммировано) они закрывают и повторно открывают файл по сигналу. Это означает, что когда вы удаляете файл, он по-прежнему открыт, занимает место на диске и увеличивается.
Также обратите внимание, что ваше «решение» в комментариях, скорее всего, удалит все подкаталоги, которые могут вызвать сбой при запуске демонов из-за пути к их файлы журналов не существуют.
Чтобы сделать это должным образом, вам нужно будет подробно проанализировать, что нужно делать вашим сотрудникам на переднем крае и с какими файлами. Затем вам нужно будет выяснить, безопасно ли удалить определенный файл или вам также нужно будет перезапустить демон. Это не такая простая работа, как вы думаете.