From: ian Date: Sun, 3 Jan 1999 02:16:49 +0000 (+0000) Subject: Preserve permissions on /etc/shadow etc. X-Git-Tag: branchpoint-2001-05-11-withlockex-old~10 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=239b1a05002b535e163e8838f41bee3a56b2ca9e;p=chiark-utils.git Preserve permissions on /etc/shadow etc. --- diff --git a/sync-accounts/sync-accounts b/sync-accounts/sync-accounts index 6acfe4b..1f48714 100755 --- a/sync-accounts/sync-accounts +++ b/sync-accounts/sync-accounts @@ -1,5 +1,5 @@ #!/usr/bin/perl -# $Id: sync-accounts,v 1.9 1999-01-03 01:56:57 ian Exp $ +# $Id: sync-accounts,v 1.10 1999-01-03 02:16:49 ian Exp $ # usage: sync-accounts [-n] [-C] [ ...] # options: # -n do not really do anything @@ -547,13 +547,9 @@ sub finish () { close NF or die $!; system "diff -U0 /etc/$file $newfile"; $?==256 or die $?; if (!$no_act) { - if ($file eq 'shadow') { - system "chown root.shadow $newfile"; $? and die $?; - chmod 0640, $newfile or die $!; - } else { - chown 0,0, $newfile or die $!; - chmod 0644, $newfile or die $!; - } + (@stats= stat $file) or die "$file: $!"; + chown $stats[4],$stats[5], $newfile or die $!; + chmod $stats[2] & 07777, $newfile or die $!; rename $newfile, "/etc/$file" or die $!; } }