ufw

Comment 3 for bug 728128

Revision history for this message
Nils Toedtmann (m-launchpad-net-mail-nils-toedtmann-net) wrote : Re: ufw user.rules should be stored in /etc to allow tracking by package 'etckeeper'

I know this bug is closed for two years now, but i think it should be re-opened for reconsideration.

Storing system-specific state data in /lib violates the Principle of least astonishment!

This issue does not only affect users of "etckeeper". When backing up, monitoring, tracking a file system, or migrating a system to a new server, one usually looks for server specific content here:
 * /etc /var /home
 * Maybe /opt, /usr/local, or /root depending on your habits

If there is any other place that contains data, then only because of some software that i installed and configured, so i should know about it.

OS-level software that stores state data anywhere else is a very unpleasant surprise. /lib/ is the last place i would expect system data in that i might want to migrate to a new server.

I understand that ufw cannot have it's state data in /var because of the mount issue.

But /etc is a perfect place for it. Nowadays /etc is *full* of machine-generated state files that should not be manually edited. E.g. on my system (ubuntu 13.04) i find this in my /etc/resolv.conf:

  "# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN"

I suggest to move the ufw state files into /etc/ and prefix them with a "AUTO GENERATED, DO NOT EDIT" disclaimer.

Comparing the two options, i clearly prefer /etc:
 * State files in /lib: People might lose their rulesets because they aren't aware they are stored in /lib
 * State files in /etc: Stupid people might conciously ignore a bit fat warning and manually edit the ufw state files just because they are in /etc