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