]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
Revert "umount: call /sbin/umount.<uhelper> for root user too"
authorKarel Zak <kzak@redhat.com>
Tue, 15 Mar 2011 12:59:55 +0000 (13:59 +0100)
committerKarel Zak <kzak@redhat.com>
Tue, 15 Mar 2011 12:59:55 +0000 (13:59 +0100)
This reverts commit c56226697342ddd663492f77768e7a7cb8e579a1.

mount/umount.8
mount/umount.c

index b2d8c856959f6e099a5d5e78344ecb3992a8477e..3606caae904a72563cd93a7aa38e38e2fb0f01e2 100644 (file)
@@ -155,6 +155,10 @@ where the <suffix> is filesystem type or a value from "uhelper=" mtab option.
 The \-t option is used  for filesystems with subtypes support (for example
 /sbin/mount.fuse -t fuse.sshfs).
 
+The uhelper (unprivileged umount helper) is possible to used when non-root user
+wants to umount a mountpoint which is not defined in the /etc/fstab file (e.g
+devices mounted by HAL).
+
 .SH FILES
 .I /etc/mtab
 table of mounted file systems
index 3e4dc337b999da9adbe477ae96437cb094ca8ef5..42671f465eefd42dd1391e373c9d46582de2d632 100644 (file)
@@ -559,22 +559,6 @@ umount_file (char *arg) {
        if (!mc && verbose)
                printf(_("Could not find %s in mtab\n"), file);
 
-       /*
-        * uhelper - umount helper
-        * -- external umount (for example HAL mounts)
-        */
-       if (external_allowed && mc) {
-               char *uhelper = NULL;
-
-               if (mc->m.mnt_opts)
-                       uhelper = get_option_value(mc->m.mnt_opts, "uhelper=");
-               if (uhelper) {
-                       int status = 0;
-                       if (check_special_umountprog(arg, arg, uhelper, &status))
-                               return status;
-               }
-       }
-
        if (restricted) {
                char *mtab_user = NULL;
 
@@ -582,6 +566,23 @@ umount_file (char *arg) {
                        die(2,
                            _("umount: %s is not mounted (according to mtab)"),
                            file);
+               /*
+                * uhelper - unprivileged umount helper
+                * -- external umount (for example HAL mounts)
+                */
+               if (external_allowed) {
+                       char *uhelper = NULL;
+
+                       if (mc->m.mnt_opts)
+                               uhelper = get_option_value(mc->m.mnt_opts,
+                                                          "uhelper=");
+                       if (uhelper) {
+                               int status = 0;
+                               if (check_special_umountprog(arg, arg,
+                                                       uhelper, &status))
+                                       return status;
+                       }
+               }
 
                /* The 2.4 kernel will generally refuse to mount the same
                   filesystem on the same mount point, but will accept NFS.