public inbox for b.a.t.m.a.n@lists.open-mesh.org
 help / color / mirror / Atom feed
From: Sven Eckelmann <sven@narfation.org>
To: b.a.t.m.a.n@lists.open-mesh.org
Subject: [B.A.T.M.A.N.] [PATCH 2/9] batctl: Use geteuid for checks of root privileges
Date: Sun, 22 Jan 2017 13:21:06 +0100	[thread overview]
Message-ID: <20170122122113.29588-2-sven@narfation.org> (raw)
In-Reply-To: <3266034.EiLA6asg3G@sven-edge>

The getuid only shows the UID of the current user. But the EUID is relevant
for accessing the debugfs and sysfs files. This check is still to strict
when it comes to netlink but avoids a lot of bogus warnings like

    Error received: Operation not permitted
    Error - mesh has not been enabled yet
    Activate your mesh by adding interfaces to batman-adv

when only the euid of the process was 0 but the interface was actually
working.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
---
 functions.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/functions.c b/functions.c
index c1aaf12..2239440 100644
--- a/functions.c
+++ b/functions.c
@@ -1141,7 +1141,7 @@ void get_random_bytes(void *buf, size_t buflen)
 
 void check_root_or_die(const char *cmd)
 {
-	if (getuid() || getgid()) {
+	if (geteuid() != 0) {
 		fprintf(stderr, "Error - you must be root to run '%s' !\n", cmd);
 		exit(EXIT_FAILURE);
 	}
-- 
2.11.0


  parent reply	other threads:[~2017-01-22 12:21 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-22 12:20 [B.A.T.M.A.N.] [PATCH 0/9] batctl: relax root privileges check Sven Eckelmann
2017-01-22 12:21 ` [B.A.T.M.A.N.] [PATCH 1/9] batctl: Move root privileges check in separate function Sven Eckelmann
2017-01-22 12:21 ` Sven Eckelmann [this message]
2017-01-22 12:21 ` [B.A.T.M.A.N.] [PATCH 3/9] batctl: Return type of error on netlink_get_info error Sven Eckelmann
2017-01-22 12:21 ` [B.A.T.M.A.N.] [PATCH 4/9] batctl: Make root privileges check function specific Sven Eckelmann
2017-01-22 12:21 ` [B.A.T.M.A.N.] [PATCH 5/9] batctl: Allow to retrieve interface stats as non-root Sven Eckelmann
2017-01-22 12:21 ` [B.A.T.M.A.N.] [PATCH 6/9] batctl: Allow to read loglevel as normal user Sven Eckelmann
2017-01-22 12:21 ` [B.A.T.M.A.N.] [PATCH 7/9] batctl: Allow to read gw_mode " Sven Eckelmann
2017-01-22 12:21 ` [B.A.T.M.A.N.] [PATCH 8/9] batctl: Allow to read sysfs settings " Sven Eckelmann
2017-01-22 12:21 ` [B.A.T.M.A.N.] [PATCH 9/9] batctl: Allow to read list of interfaces " Sven Eckelmann
2017-01-24 12:49 ` [B.A.T.M.A.N.] [PATCH 0/9] batctl: relax root privileges check Simon Wunderlich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170122122113.29588-2-sven@narfation.org \
    --to=sven@narfation.org \
    --cc=b.a.t.m.a.n@lists.open-mesh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox