summaryrefslogtreecommitdiff
path: root/package
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2014-10-25 17:22:46 +0000
committerFelix Fietkau <nbd@openwrt.org>2014-10-25 17:22:46 +0000
commit7a5002ec9d67515cbeea99a89b94c70dc50456c4 (patch)
treeebb417aef0fd6cd9e8e0e13410a133e6da9f26b4 /package
parentdd86bc73fb894a259bf8eca38c074128ad2eb40f (diff)
downloadmtk-20170518-7a5002ec9d67515cbeea99a89b94c70dc50456c4.zip
mtk-20170518-7a5002ec9d67515cbeea99a89b94c70dc50456c4.tar.gz
mtk-20170518-7a5002ec9d67515cbeea99a89b94c70dc50456c4.tar.bz2
base-files: add /etc/shadow to list of essential files to keep in sysupgrade (bug 18206)
Based on bug #18206 sysupgrade can lead to loss of password information in certain situations. Most likely all users who will upgrade from versions r43017-43040, will lose their current passwords. :-( https://dev.openwrt.org/ticket/18206 Currently /etc/shadow is defined as a conffile in base-files: https://dev.openwrt.org/browser/trunk/package/base-files/Makefile#L37 But it is not defined in the default list of essential files to keep in sysupgrade: https://dev.openwrt.org/browser/trunk/package/base-files/files/lib/upgrade/keep.d/base-files-essential If exporting conffiles info fails, /etc/shadow can get lost. Shadow passwords are now the default, so saying that preserving /etc/passwd is essential while /etc/shadow is not, makes no sense. The attached patch adds /etc/shadow to the list of essential files. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi> SVN-Revision: 43061
Diffstat (limited to 'package')
-rw-r--r--package/base-files/files/lib/upgrade/keep.d/base-files-essential1
1 files changed, 1 insertions, 0 deletions
diff --git a/package/base-files/files/lib/upgrade/keep.d/base-files-essential b/package/base-files/files/lib/upgrade/keep.d/base-files-essential
index 2c611d2..978d4b5 100644
--- a/package/base-files/files/lib/upgrade/keep.d/base-files-essential
+++ b/package/base-files/files/lib/upgrade/keep.d/base-files-essential
@@ -4,6 +4,7 @@
/etc/group
/etc/passwd
/etc/profile
+/etc/shadow
/etc/shells
/etc/sysctl.conf
/etc/rc.local