Logic bugfix
[mirror/userdir-ldap.git] / ud-replicate
index 0ebb4f5..996adf0 100755 (executable)
@@ -58,17 +58,16 @@ ln -sf "$HOST/ssh_known_hosts" .
 if [ -x /usr/bin/dchroot ]; then
        CHROOTS=`dchroot --listpaths`
        for c in $CHROOTS; do
-               test -d "$c/var/lib/misc/HOST" || mkdir -p "$c/var/lib/misc/HOST"
+               test -d "$c/var/lib/misc/HOST" || mkdir -p "$c/var/lib/misc/HOST"
 
-               rsync -ar ${verbose} $HOST/*.tdb $HOST/ssh* "$c/var/lib/misc/$HOST"
+               rsync -a ${verbose} $HOST/group.tdb $HOST/passwd.tdb $HOST/ssh* "$c/var/lib/misc/$HOST"
+
+               test ! -f "$c/var/lib/misc/$HOST/shadow.tdb" || rm -f "$c/var/lib/misc/$HOST/shadow.tdb"
+               test ! -f "$c/var/lib/misc/shadow.db" || rm -f "$c/var/lib/misc/shadow.db"
 
                        chroot "$c" makedb "/var/lib/misc/$HOST/passwd.tdb" -o /var/lib/misc/passwd.db.t
-                       (umask 027 && chroot "$c" makedb "/var/lib/misc/$HOST/shadow.tdb" -o /var/lib/misc/shadow.db.t)
-                       chown root.shadow "$c/var/lib/misc/shadow.db.t"
-                       chmod 0640 "$c/var/lib/misc/shadow.db.t"
                        chroot "$c" makedb "/var/lib/misc/$HOST/group.tdb" -o /var/lib/misc/group.db.t
                        mv -f "$c/var/lib/misc/passwd.db.t" "$c/var/lib/misc/passwd.db"
-                       mv -f "$c/var/lib/misc/shadow.db.t" "$c/var/lib/misc/shadow.db"
                        mv -f "$c/var/lib/misc/group.db.t" "$c/var/lib/misc/group.db"
                        ln -sf "$c/var/lib/misc/$HOST/ssh-rsa-shadow" "$c/var/lib/misc/"
                        ln -sf "$c/var/lib/misc/$HOST/ssh_known_hosts" "$c/var/lib/misc/"