/var/log
a souvent des autorisations de drwxrwxr-x
, n'est donc pas accessible en écriture à moins que l'utilisateur ne soit root ou n'appartienne à un groupe privilégié. Cela signifie que de nouveaux fichiers journaux ne peuvent pas être créés par des utilisateurs non privilégiés.
Les applications qui s'attendent à se connecter à un point à l'intérieur /var/log
toucheront souvent un fichier existant quelque part dans la /var/log
hiérarchie pendant le temps d'installation (ce qui se produit souvent avec des privilèges élevés), et le feront chmod
éventuellement chown
à des autorisations appropriées pour les utilisateurs non privilégiés qui seront en utilisant l'application.
Les journaux Apache, par exemple, sont généralement écrits par nobody
, qui est un utilisateur avec le moins de privilèges possible pour qu'Apache puisse faire son travail sans mettre le système en danger indu. Mais même une application plus courante s'attend souvent à pouvoir écrire dans un fichier journal /var/log
.
Que se passe-t-il donc si le fichier journal et le chemin d'accès au fichier journal n'existent pas? Cela dépend entièrement de l'application. Certaines applications ignoreront tranquillement la journalisation. D'autres créeront de nombreux avertissements. Et d'autres vont simplement renflouer. Il n'y a pas de règle stricte; cela dépend de la vigilance du développeur de l'application, ainsi que de la mesure dans laquelle le développeur considère sa capacité à se connecter. Au mieux, l'application tentera d'écrire, ou peut-être de créer puis d'écrire dans un fichier journal à une destination à l'intérieur /var/log
, et se trouvera incapable de le faire car elle est exécutée par un utilisateur qui n'a pas les privilèges pour écrire dans cette partie du système de fichiers.
Donc, la réponse courte est non, ne supprimez pas tout /var/log
- cela casse les utilisateurs du contrat avec des privilèges suffisants pour faire de telles choses avec les applications qui s'exécutent sur leur système, et provoquera du bruit, un échec silencieux de la journalisation, et une rupture totale.
L'action appropriée à entreprendre est de configurer logrotate
avec les fichiers de configuration appropriés. La rotation est généralement associée à une tâche cron. La rotation peut être basée sur un intervalle, ou basée sur la taille, ou les deux. Il est même possible de configurer des règles qui évitent la rotation basée sur un intervalle si le fichier journal est toujours vide à l'expiration de l'intervalle. La rotation peut inclure l'envoi de fichiers journaux, la compression, la suppression, la destruction, etc.
L'utilisateur moyen n'aurait pas à se soucier trop de la rotation des journaux. Les développeurs voudront probablement s'assurer que les journaux qu'ils utilisent ont des règles de rotation établies. En fait, les développeurs ont probablement de bonnes manières de configurer la rotation des journaux au moment de l'installation pour tous les journaux spécifiques au logiciel que le logiciel va créer et écrire.