diff options
author | Ruslan Ermilov <ru@FreeBSD.org> | 2001-02-24 10:16:54 +0000 |
---|---|---|
committer | Ruslan Ermilov <ru@FreeBSD.org> | 2001-02-24 10:16:54 +0000 |
commit | b52c326cfc9a5fa83f56ed0e5dd208ee05f29ef4 (patch) | |
tree | 5ff7e025326c68bbd54ab71de2634258897fecc8 /sbin/dmesg | |
parent | 130c1f25a4be674d955ac31d43fb1ac6621606d1 (diff) | |
download | src-b52c326cfc9a5fa83f56ed0e5dd208ee05f29ef4.tar.gz src-b52c326cfc9a5fa83f56ed0e5dd208ee05f29ef4.zip |
Restrict -a to root only.
PR: bin/25337
Notes
Notes:
svn path=/head/; revision=72973
Diffstat (limited to 'sbin/dmesg')
-rw-r--r-- | sbin/dmesg/dmesg.8 | 1 | ||||
-rw-r--r-- | sbin/dmesg/dmesg.c | 7 |
2 files changed, 7 insertions, 1 deletions
diff --git a/sbin/dmesg/dmesg.8 b/sbin/dmesg/dmesg.8 index 196b4dc0be5a..8d59634d35ae 100644 --- a/sbin/dmesg/dmesg.8 +++ b/sbin/dmesg/dmesg.8 @@ -54,6 +54,7 @@ Show all data in the message buffer. This includes any syslog records and .Pa /dev/console output. +Only root is allowed to use this option. .It Fl M Extract values associated with the name list from the specified core instead of the default diff --git a/sbin/dmesg/dmesg.c b/sbin/dmesg/dmesg.c index 541e9dfb8c0f..3883688de3de 100644 --- a/sbin/dmesg/dmesg.c +++ b/sbin/dmesg/dmesg.c @@ -45,6 +45,7 @@ static const char rcsid[] = "$FreeBSD$"; #endif /* not lint */ +#include <sys/types.h> #include <sys/msgbuf.h> #include <err.h> @@ -53,9 +54,10 @@ static const char rcsid[] = #include <locale.h> #include <stdio.h> #include <stdlib.h> +#include <sysexits.h> +#include <syslog.h> #include <unistd.h> #include <vis.h> -#include <sys/syslog.h> struct nlist nl[] = { #define X_MSGBUF 0 @@ -109,6 +111,9 @@ main(argc, argv) if (memf != NULL || nlistf != NULL) setgid(getgid()); + if (all && getuid()) + errx(EX_NOPERM, "must be root to use -a"); + /* Read in kernel message buffer, do sanity checks. */ if ((kd = kvm_open(nlistf, memf, NULL, O_RDONLY, "dmesg")) == NULL) exit (1); |