3

Я использую audctl для регистрации всех команд, запущенных в моей системе Ubuntu, и я работаю над сценарием, который анализирует журнал в более читаемый формат. Поскольку эти журналы имеют тенденцию становиться очень большими, я хочу периодически удалять журналы. Я нашел это, запустив

sudo rm /var/log/audit/*

я бы получил

rm: cannot remove `/var/log/audit/*': No such file or directory

Однако, запустив

sudo su
rm /var/log/audit/*

Журналы будут удалены без каких-либо проблем. Что может быть причиной этого?

1 ответ1

4

Расширение имени файла является причиной проблемы.

Оболочка расширяется /var /log /audit /* как ваш текущий пользователь без полномочий root.

Так как у этого пользователя нет доступа на чтение /exec к /var /log /audit, вместо списка файлов для удаления, находящихся в этом каталоге, передается rm, буквенная строка

/var/log/audit/*

rm верен - в /var /log /audit нет файла с именем "*", поэтому он не может его удалить.

Попробуй это:

sudo 'rm /var/log/audit/*'

или, может быть:

sudo sh -c 'rm /var/log/audit/*'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .