/var/log
часто имеет разрешения drwxrwxr-x
, поэтому не доступен для записи пользователем, если пользователь не является пользователем root или не принадлежит к привилегированной группе. Это означает, что новые файлы журнала не могут быть созданы непривилегированными пользователями.
Приложения, которые ожидают регистрации в какой-либо точке внутри /var/log
, часто будут касаться файла, существующего где-то в /var/log
иерархии, во время установки (что часто происходит с повышенными привилегиями), и будут chmod
и, возможно, chown
в это время с разрешениями, подходящими для непривилегированных пользователей, которые будут используя приложение.
Журналы Apache, например, обычно записываются пользователем nobody
, который имеет как можно меньше привилегий, чтобы Apache мог выполнять свою работу, не подвергая систему чрезмерному риску. Но даже более заурядное приложение часто ожидает возможность записи в файл журнала /var/log
.
Так что же произойдет, если лог-файл и путь к лог-файлу не существуют? Это полностью зависит от приложения. Некоторые приложения будут спокойно пропускать регистрацию. Другие создадут много предупреждений. А другие просто выручат. Там нет жесткого правила; это зависит от бдительности разработчика приложения, а также от того, насколько критично разработчик считает, что он может вести журнал. В лучшем случае приложение будет пытаться либо выполнить запись, либо, возможно, создать, а затем записать в файл журнала в месте назначения /var/log
, и окажется, что оно не сможет этого сделать, поскольку оно выполняется пользователем, у которого нет прав для записи в него. эта часть файловой системы.
Таким образом, короткий ответ - нет, не удаляйте все, что есть, /var/log
- это нарушает условия контрактных пользователей с достаточными привилегиями, чтобы делать такие вещи с приложениями, работающими в их системе, и вызывает некоторый шум, некоторый тихий сбой при регистрации и какая-то тотальная поломка.
Надлежащее действие - настроить logrotate
с помощью соответствующих файлов конфигурации. Обычно ротация будет связана с заданием cron. Вращение может быть основано на интервале, или на основе размера, или на обоих. Можно даже настроить правила, которые избегают ротации на основе интервалов, если файл журнала все еще пуст после истечения интервала. Ротация может включать рассылку файлов журналов, сжатие, удаление, уничтожение и т. Д.
Обычному пользователю не нужно слишком беспокоиться о ротации логов. Разработчики, вероятно, захотят убедиться, что для журналов, которые они используют, установлены правила ротации. На самом деле, разработчики, вероятно, установят ротацию журналов во время установки для любых программно-специфических журналов, которые будут создаваться и записываться программным обеспечением.