Moved sudo snipet in /etc/sudoers.d/. Remove old inline stuff on upgrades.
authorJean-Michel Nirgal Vourgère <jmv@nirgal.com>
Sun, 5 Jan 2014 22:20:36 +0000 (22:20 +0000)
committerJean-Michel Nirgal Vourgère <jmv@nirgal.com>
Sun, 5 Jan 2014 22:20:36 +0000 (22:20 +0000)
mvoomail now enforce oomailing ownership of a file before moving it.

debian/changelog
debian/install
debian/postinst
debian/postrm
mvoomail
sudoers.d/oomailing [new file with mode: 0644]

index 0cfb49b0fdf50e633eafeaeae73521f906965590..630199be25cd1c3c7b0f509541b6087eeb52549f 100644 (file)
@@ -3,6 +3,8 @@ oomailing (0.5) UNRELEASED; urgency=low
   * Now using libreoffice and no longer openoffice.
   * Bumped standard version to 3.9.4. No change required.
   * Added svn: address in control file.
+  * Moved sudo snipet in /etc/sudoers.d/. Remove old inline stuff on upgrades.
+  * mvoomail now enforce oomailing ownership of a file before moving it.
 
  -- Jean-Michel Vourgère <jmv_deb@nirgal.com>  Sun, 05 Jan 2014 21:56:13 +0100
 
index 3e09b2f88ee369aa87a774f3d61411c3b789e721..72aceb74c68aa312a3dcb460431e864a1a3f0671 100644 (file)
@@ -1 +1,2 @@
 mvoomail /usr/bin
+sudoers.d/oomailing /etc/sudoers.d/
index 5f6ee16623ef92f56c98bf97a3f0a81cbfa011c8..626b9a09471962a6d54b594dbdfc9303d6c74645 100644 (file)
@@ -29,8 +29,12 @@ case "$1" in
         if ! id -u oomailing>/dev/null 2>&1; then
             adduser --system --shell /bin/sh oomailing
         fi
-        if ! grep -q mvoomail /etc/sudoers; then
-            echo "ALL     ALL=(root) NOPASSWD: /usr/bin/mvoomail">>/etc/sudoers
+
+        if dpkg --compare-versions "$2" lt-nl 0.5; then
+            echo "Pre 0.5 upgrade: Cleaning up inline sudoers for sudoers.d" >&2
+            grep -v mvoomail /etc/sudoers>/etc/sudoers.new
+            chmod 0440 /etc/sudoers.new
+            mv /etc/sudoers.new /etc/sudoers
         fi
     ;;
 
index 40066810f4c890f4a018e74d7525d5876dbfc843..4e14552e5443561f5493e247486e9799023e45bb 100644 (file)
@@ -21,9 +21,6 @@ case "$1" in
         if id -u oomailing>/dev/null; then 
             deluser --remove-home oomailing
         fi
-        grep -v mvoomail /etc/sudoers>/etc/sudoers.new
-        chmod 0440 /etc/sudoers.new
-        mv /etc/sudoers.new /etc/sudoers
         ;;
 
     purge|upgrade|failed-upgrade|abort-install|abort-upgrade|abort-upgrade|disappear)
index 2b86e94f3ee19e039273b3d4ba061f2a09f13bc8..bcda278d5b72bc20245c4d71bdf1f328bff041f4 100755 (executable)
--- a/mvoomail
+++ b/mvoomail
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 # Moves a generated mail from /tmp/ to a given folder
-# File ownership is changed to the owner of the folder
+# File ownership is changed to the owner of the targer folder
 # File permissions are changed to 644
 
 set -e
@@ -28,6 +28,7 @@ target=$2
 
 test -r /tmp/$basefilename || exitusage "Can't read file /tmp/$basefilename"
 test -d $target || exitusage "$target is not a folder"
+[[ `stat -c %u "/tmp/$basefilename"` == `id -u oomailing` ]] || exitusage "File must belong to oomailing user"
 
 targetuid=`ls -dln $target | cut -d \  -f 3`
 targetgid=`ls -dln $target | cut -d \  -f 4`
diff --git a/sudoers.d/oomailing b/sudoers.d/oomailing
new file mode 100644 (file)
index 0000000..48ad79a
--- /dev/null
@@ -0,0 +1,3 @@
+# Any one can get a file generated in /tmp if he knows the filename and it 
+# is owned by oomailing user.
+ALL     ALL=(root) NOPASSWD: /usr/bin/mvoomail