mount: Fix -t in listing mode when run as non-root
Presently, libmount-mount completely prohibits the use of -t by non-root users. This breaks using -t in listing mode as a user, which represents a regression against mount-deprecated, macosx and presumably *BSD. This commit fixes the issue by deferring the mnt_context_is_restricted check for -t until we know we're not in listing mode. Signed-off-by: Rich Tollerton <rich.tollerton@ni.com>
This commit is contained in:
parent
b4ee2cacca
commit
1707b9b104
|
@ -800,7 +800,7 @@ int main(int argc, char **argv)
|
|||
|
||||
/* only few options are allowed for non-root users */
|
||||
if (mnt_context_is_restricted(cxt) &&
|
||||
!strchr("hlLUVvpris", c) &&
|
||||
!strchr("hlLUVvprist", c) &&
|
||||
c != MOUNT_OPT_TARGET &&
|
||||
c != MOUNT_OPT_SOURCE)
|
||||
exit_non_root(option_to_longopt(c, longopts));
|
||||
|
@ -950,6 +950,11 @@ int main(int argc, char **argv)
|
|||
goto done;
|
||||
}
|
||||
|
||||
/* Non-root users are allowed to use -t to print_all(),
|
||||
but not to mount */
|
||||
if (mnt_context_is_restricted(cxt) && types)
|
||||
exit_non_root("types");
|
||||
|
||||
if (oper && (types || all || mnt_context_get_source(cxt)))
|
||||
usage(stderr);
|
||||
|
||||
|
|
Loading…
Reference in New Issue