aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2014-10-25 17:23:14 +0000
committerFelix Fietkau <nbd@openwrt.org>2014-10-25 17:23:14 +0000
commit136abcb0b21e32b82bbd482a0ee7ca2c98447fa5 (patch)
treecaf4eea28a26e7c9bae23b3ceff32dc5772225e2
parentdf9410230fbd9f93040445a1de0acc10875084cb (diff)
downloadupstream-136abcb0b21e32b82bbd482a0ee7ca2c98447fa5.tar.gz
upstream-136abcb0b21e32b82bbd482a0ee7ca2c98447fa5.tar.bz2
upstream-136abcb0b21e32b82bbd482a0ee7ca2c98447fa5.zip
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> Backport of r43061 git-svn-id: svn://svn.openwrt.org/openwrt/branches/barrier_breaker@43062 3c298f89-4303-0410-b956-a3cf2f4a3e73
-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 2c611d29b4..978d4b58bc 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