aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/ChangeLog4
-rwxr-xr-xtools/addgnupghome23
2 files changed, 25 insertions, 2 deletions
diff --git a/tools/ChangeLog b/tools/ChangeLog
index a91f4fe68..1d2181227 100644
--- a/tools/ChangeLog
+++ b/tools/ChangeLog
@@ -9,6 +9,10 @@
2004-01-30 Werner Koch <[email protected]>
+ * addgnupghome: Also set the group of copied files.
+
+2004-01-30 Werner Koch <[email protected]>
+
* Makefile.am (sbin_SCRIPTS): New, to install addgnupghome.
(EXTRA_DIST): Added rfc822parse.c rfc822parse.h gpgparsemail.c
which might be useful for debugging.
diff --git a/tools/addgnupghome b/tools/addgnupghome
index 20436b637..d237a0b42 100755
--- a/tools/addgnupghome
+++ b/tools/addgnupghome
@@ -48,11 +48,22 @@ one_user () {
error "error creating \`$home/.gnupg'"
return
fi
+
if ! chown $user "$home/.gnupg" ; then
error "error changing ownership of \`$home/.gnupg'"
return
fi
+ group=$(id -g "$user")
+ [ -z "$group" ] && group="0"
+
+ if [ "$group" -gt 0 ]; then
+ if ! chgrp $group "$home/.gnupg" ; then
+ error "error changing group of \`$home/.gnupg'"
+ return
+ fi
+ fi
+
if ! cd "$home/.gnupg" ; then
error "error cd-ing to \`$home/.gnupg'"
return
@@ -63,10 +74,18 @@ one_user () {
else
cp /etc/skel/.gnupg/$f $f
fi
- chown $user $f
+ if ! chown $user $f ; then
+ error "error changing ownership of \`$f'"
+ return
+ fi
+ if [ "$group" -gt 0 ]; then
+ if ! chgrp $group "$f" ; then
+ error "error changing group of \`$f'"
+ return
+ fi
+ fi
done
-
}
if [ -z "$1" ]; then