summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2010-02-01 10:22:38 +1100
committerNeilBrown <neilb@suse.de>2010-02-01 10:22:38 +1100
commitac5678dd9b67995a84bf2348d82e641d7895415e (patch)
tree57cf093b23652147f7ad5ffae45ddfbb782d7cb4
parentcf1be220e276285bda849e3d8f924fca6322fc05 (diff)
downloadmdadm-ac5678dd9b67995a84bf2348d82e641d7895415e.tar.gz
mdadm-ac5678dd9b67995a84bf2348d82e641d7895415e.tar.xz
mdadm-ac5678dd9b67995a84bf2348d82e641d7895415e.zip
Add test for "are we running as root".
Most operations require root access. Rather than ensure we generate the right error message when something fails because we aren't root, check early. Note that "--examine" does not necessarily require root, so test for that first. Resolves-Debian-bug: 396570 Signed-off-by: NeilBrown <neilb@suse.de>
-rw-r--r--mdadm.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/mdadm.c b/mdadm.c
index be4fbf6..eb124d5 100644
--- a/mdadm.c
+++ b/mdadm.c
@@ -1046,6 +1046,12 @@ int main(int argc, char *argv[])
}
}
+ if ((mode != MISC || devmode != 'E') &&
+ geteuid() != 0) {
+ fprintf(stderr, Name ": must be super-user to perform this action\n");
+ exit(1);
+ }
+
ident.autof = autof;
rv = 0;