summaryrefslogtreecommitdiff
path: root/gnu/usr.bin
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>1998-01-13 05:30:33 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>1998-01-13 05:30:33 +0000
commitff38654fd8be17d99031d516ee229d83f39aca07 (patch)
tree97df5ba900c055418778ca549c624f8a59c835e0 /gnu/usr.bin
parent2ab1d6e4c74827590cbbc18b0ab5f824423338d5 (diff)
sudo 1.5.4
Diffstat (limited to 'gnu/usr.bin')
-rw-r--r--gnu/usr.bin/sudo/README2
-rw-r--r--gnu/usr.bin/sudo/sudo/check.c10
-rw-r--r--gnu/usr.bin/sudo/sudo/compat.h6
-rw-r--r--gnu/usr.bin/sudo/sudo/config.h8
-rw-r--r--gnu/usr.bin/sudo/sudo/find_path.c6
-rw-r--r--gnu/usr.bin/sudo/sudo/getspwuid.c6
-rw-r--r--gnu/usr.bin/sudo/sudo/goodpath.c6
-rw-r--r--gnu/usr.bin/sudo/sudo/ins_2001.h6
-rw-r--r--gnu/usr.bin/sudo/sudo/ins_classic.h6
-rw-r--r--gnu/usr.bin/sudo/sudo/ins_csops.h6
-rw-r--r--gnu/usr.bin/sudo/sudo/ins_goons.h6
-rw-r--r--gnu/usr.bin/sudo/sudo/insults.h6
-rw-r--r--gnu/usr.bin/sudo/sudo/interfaces.c6
-rw-r--r--gnu/usr.bin/sudo/sudo/logging.c6
-rw-r--r--gnu/usr.bin/sudo/sudo/options.h6
-rw-r--r--gnu/usr.bin/sudo/sudo/parse.c6
-rw-r--r--gnu/usr.bin/sudo/sudo/parse.lex6
-rw-r--r--gnu/usr.bin/sudo/sudo/parse.yacc6
-rw-r--r--gnu/usr.bin/sudo/sudo/pathnames.h6
-rw-r--r--gnu/usr.bin/sudo/sudo/sudo.8130
-rw-r--r--gnu/usr.bin/sudo/sudo/sudo.c6
-rw-r--r--gnu/usr.bin/sudo/sudo/sudo.h6
-rw-r--r--gnu/usr.bin/sudo/sudo/sudo_setenv.c6
-rw-r--r--gnu/usr.bin/sudo/sudo/sudoers.5150
-rw-r--r--gnu/usr.bin/sudo/sudo/tgetpass.c6
-rw-r--r--gnu/usr.bin/sudo/sudo/version.h8
-rw-r--r--gnu/usr.bin/sudo/visudo/visudo.878
-rw-r--r--gnu/usr.bin/sudo/visudo/visudo.c6
28 files changed, 315 insertions, 197 deletions
diff --git a/gnu/usr.bin/sudo/README b/gnu/usr.bin/sudo/README
index c73e4fbce4b..baf19eef582 100644
--- a/gnu/usr.bin/sudo/README
+++ b/gnu/usr.bin/sudo/README
@@ -1,3 +1,3 @@
This is a minimal sudo distribution for OpenBSD. You can get the
full package at ftp://ftp.courtesan.com/pub/sudo/. For info on
-sudo please see http://www.courtesan.com/courtesan/products/sudo/.
+sudo please see http://www.courtesan.com/sudo/.
diff --git a/gnu/usr.bin/sudo/sudo/check.c b/gnu/usr.bin/sudo/sudo/check.c
index 06ec430fa81..ce1b3c6c054 100644
--- a/gnu/usr.bin/sudo/sudo/check.c
+++ b/gnu/usr.bin/sudo/sudo/check.c
@@ -1,7 +1,7 @@
-/* $OpenBSD: check.c,v 1.5 1997/11/23 07:15:40 millert Exp $ */
+/* $OpenBSD: check.c,v 1.6 1998/01/13 05:30:20 millert Exp $ */
/*
- * CU sudo version 1.5.3 (based on Root Group sudo version 1.1)
+ * CU sudo version 1.5.4 (based on Root Group sudo version 1.1)
*
* This software comes with no waranty whatsoever, use at your own risk.
*
@@ -38,7 +38,7 @@
*/
#ifndef lint
-static char rcsid[] = "Id: check.c,v 1.122 1996/11/14 02:37:16 millert Exp $";
+static char rcsid[] = "Id: check.c,v 1.124 1998/01/13 04:48:01 millert Exp $";
#endif /* lint */
#include "config.h"
@@ -530,7 +530,7 @@ static void check_passwd()
/* Exit loop on nil password */
if (!pass || *pass == '\0') {
if (counter == TRIES_FOR_PASSWORD)
- exit(0);
+ exit(1);
else
break;
}
@@ -870,7 +870,7 @@ static void reminder()
(void) fprintf(stderr, "\n%s\n%s\n\n%s\n%s\n\n",
#else
(void) fprintf(stderr, "\n%s\n%s\n%s\n%s\n\n%s\n%s\n\n%s\n%s\n\n",
- " CU sudo version 1.5.3, based on Root Group sudo version 1.1",
+ " CU sudo version 1.5.4, based on Root Group sudo version 1.1",
" sudo version 1.1, Copyright (C) 1991 The Root Group, Inc.",
" sudo comes with ABSOLUTELY NO WARRANTY. This is free software,",
" and you are welcome to redistribute it under certain conditions.",
diff --git a/gnu/usr.bin/sudo/sudo/compat.h b/gnu/usr.bin/sudo/sudo/compat.h
index 7b0394cd82e..ed077cfe21b 100644
--- a/gnu/usr.bin/sudo/sudo/compat.h
+++ b/gnu/usr.bin/sudo/sudo/compat.h
@@ -1,7 +1,7 @@
-/* $OpenBSD: compat.h,v 1.3 1997/11/23 07:15:41 millert Exp $ */
+/* $OpenBSD: compat.h,v 1.4 1998/01/13 05:30:21 millert Exp $ */
/*
- * CU sudo version 1.5.3
+ * CU sudo version 1.5.4
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -19,7 +19,7 @@
*
* Please send bugs, changes, problems to sudo-bugs@courtesan.com
*
- * Id: compat.h,v 1.29 1997/05/21 15:57:26 millert Exp $
+ * Id: compat.h,v 1.30 1998/01/13 04:48:01 millert Exp $
*/
#ifndef _SUDO_COMPAT_H
diff --git a/gnu/usr.bin/sudo/sudo/config.h b/gnu/usr.bin/sudo/sudo/config.h
index 0302276a364..58f0f424f25 100644
--- a/gnu/usr.bin/sudo/sudo/config.h
+++ b/gnu/usr.bin/sudo/sudo/config.h
@@ -1,8 +1,8 @@
-/* $OpenBSD: config.h,v 1.2 1997/11/23 07:15:41 millert Exp $ */
+/* $OpenBSD: config.h,v 1.3 1998/01/13 05:30:21 millert Exp $ */
/* config.h. Generated automatically by configure. */
/*
- * CU sudo version 1.5.2
+ * CU sudo version 1.5.4
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -20,7 +20,7 @@
*
* Please send bugs, changes, problems to sudo-bugs@courtesan.com
*
- * Id: config.h,v 1.1 1996/10/14 05:14:44 millert Exp $
+ * Id: config.h.in,v 1.80 1998/01/13 04:48:01 millert Exp $
*/
/*
@@ -196,7 +196,7 @@
#define HAVE_SETEUID 1
/* Define if you have the <malloc.h> header file. */
-#define HAVE_MALLOC_H 1
+/* #undef HAVE_MALLOC_H */
/* Define if you have the <alloca.h> header file. */
/* #undef HAVE_ALLOCA_H */
diff --git a/gnu/usr.bin/sudo/sudo/find_path.c b/gnu/usr.bin/sudo/sudo/find_path.c
index 65efa409e4a..7385e449332 100644
--- a/gnu/usr.bin/sudo/sudo/find_path.c
+++ b/gnu/usr.bin/sudo/sudo/find_path.c
@@ -1,7 +1,7 @@
-/* $OpenBSD: find_path.c,v 1.3 1997/11/23 07:15:42 millert Exp $ */
+/* $OpenBSD: find_path.c,v 1.4 1998/01/13 05:30:22 millert Exp $ */
/*
- * CU sudo version 1.5.3
+ * CU sudo version 1.5.4
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -31,7 +31,7 @@
*/
#ifndef lint
-static char rcsid[] = "Id: find_path.c,v 1.65 1996/11/14 02:37:16 millert Exp $";
+static char rcsid[] = "Id: find_path.c,v 1.66 1998/01/13 04:48:17 millert Exp $";
#endif /* lint */
#include "config.h"
diff --git a/gnu/usr.bin/sudo/sudo/getspwuid.c b/gnu/usr.bin/sudo/sudo/getspwuid.c
index 0db73baa86b..e620f09bf11 100644
--- a/gnu/usr.bin/sudo/sudo/getspwuid.c
+++ b/gnu/usr.bin/sudo/sudo/getspwuid.c
@@ -1,7 +1,7 @@
-/* $OpenBSD: getspwuid.c,v 1.3 1997/11/23 07:15:42 millert Exp $ */
+/* $OpenBSD: getspwuid.c,v 1.4 1998/01/13 05:30:22 millert Exp $ */
/*
- * CU sudo version 1.5.3
+ * CU sudo version 1.5.4
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -30,7 +30,7 @@
*/
#ifndef lint
-static char rcsid[] = "Id: getspwuid.c,v 1.21 1996/11/14 02:37:16 millert Exp $";
+static char rcsid[] = "Id: getspwuid.c,v 1.22 1998/01/13 04:48:17 millert Exp $";
#endif /* lint */
#include "config.h"
diff --git a/gnu/usr.bin/sudo/sudo/goodpath.c b/gnu/usr.bin/sudo/sudo/goodpath.c
index 67512b21505..0ca8e34c1e7 100644
--- a/gnu/usr.bin/sudo/sudo/goodpath.c
+++ b/gnu/usr.bin/sudo/sudo/goodpath.c
@@ -1,7 +1,7 @@
-/* $OpenBSD: goodpath.c,v 1.3 1997/11/23 07:15:43 millert Exp $ */
+/* $OpenBSD: goodpath.c,v 1.4 1998/01/13 05:30:23 millert Exp $ */
/*
- * CU sudo version 1.5.3
+ * CU sudo version 1.5.4
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -31,7 +31,7 @@
*/
#ifndef lint
-static char rcsid[] = "Id: goodpath.c,v 1.14 1996/11/14 02:37:16 millert Exp $";
+static char rcsid[] = "Id: goodpath.c,v 1.15 1998/01/13 04:48:17 millert Exp $";
#endif /* lint */
#include "config.h"
diff --git a/gnu/usr.bin/sudo/sudo/ins_2001.h b/gnu/usr.bin/sudo/sudo/ins_2001.h
index 143f27117ad..03f9397c0cb 100644
--- a/gnu/usr.bin/sudo/sudo/ins_2001.h
+++ b/gnu/usr.bin/sudo/sudo/ins_2001.h
@@ -1,7 +1,7 @@
-/* $OpenBSD: ins_2001.h,v 1.3 1997/11/23 07:15:43 millert Exp $ */
+/* $OpenBSD: ins_2001.h,v 1.4 1998/01/13 05:30:23 millert Exp $ */
/*
- * CU sudo version 1.5.3
+ * CU sudo version 1.5.4
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -19,7 +19,7 @@
*
* Please send bugs, changes, problems to sudo-bugs@courtesan.com
*
- * Id: ins_2001.h,v 1.11 1996/11/14 02:37:16 millert Exp $
+ * Id: ins_2001.h,v 1.12 1998/01/13 04:48:17 millert Exp $
*/
#ifndef _SUDO_INS_2001_H
diff --git a/gnu/usr.bin/sudo/sudo/ins_classic.h b/gnu/usr.bin/sudo/sudo/ins_classic.h
index 0e2ff7ebf4f..e269196af21 100644
--- a/gnu/usr.bin/sudo/sudo/ins_classic.h
+++ b/gnu/usr.bin/sudo/sudo/ins_classic.h
@@ -1,7 +1,7 @@
-/* $OpenBSD: ins_classic.h,v 1.3 1997/11/23 07:15:43 millert Exp $ */
+/* $OpenBSD: ins_classic.h,v 1.4 1998/01/13 05:30:24 millert Exp $ */
/*
- * CU sudo version 1.5.3
+ * CU sudo version 1.5.4
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -19,7 +19,7 @@
*
* Please send bugs, changes, problems to sudo-bugs@courtesan.com
*
- * Id: ins_classic.h,v 1.11 1996/11/14 02:37:16 millert Exp $
+ * Id: ins_classic.h,v 1.12 1998/01/13 04:48:17 millert Exp $
*/
#ifndef _SUDO_INS_CLASSIC_H
diff --git a/gnu/usr.bin/sudo/sudo/ins_csops.h b/gnu/usr.bin/sudo/sudo/ins_csops.h
index b320dcb1e3a..a3b2c33654c 100644
--- a/gnu/usr.bin/sudo/sudo/ins_csops.h
+++ b/gnu/usr.bin/sudo/sudo/ins_csops.h
@@ -1,7 +1,7 @@
-/* $OpenBSD: ins_csops.h,v 1.3 1997/11/23 07:15:44 millert Exp $ */
+/* $OpenBSD: ins_csops.h,v 1.4 1998/01/13 05:30:24 millert Exp $ */
/*
- * CU sudo version 1.5.3
+ * CU sudo version 1.5.4
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -19,7 +19,7 @@
*
* Please send bugs, changes, problems to sudo-bugs@courtesan.com
*
- * Id: ins_csops.h,v 1.10 1996/11/14 02:37:16 millert Exp $
+ * Id: ins_csops.h,v 1.11 1998/01/13 04:48:17 millert Exp $
*/
#ifndef _SUDO_INS_CSOPS_H
diff --git a/gnu/usr.bin/sudo/sudo/ins_goons.h b/gnu/usr.bin/sudo/sudo/ins_goons.h
index edd5985c5ba..5f98ca40457 100644
--- a/gnu/usr.bin/sudo/sudo/ins_goons.h
+++ b/gnu/usr.bin/sudo/sudo/ins_goons.h
@@ -1,7 +1,7 @@
-/* $OpenBSD: ins_goons.h,v 1.3 1997/11/23 07:15:44 millert Exp $ */
+/* $OpenBSD: ins_goons.h,v 1.4 1998/01/13 05:30:24 millert Exp $ */
/*
- * CU sudo version 1.5.3
+ * CU sudo version 1.5.4
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -19,7 +19,7 @@
*
* Please send bugs, changes, problems to sudo-bugs@courtesan.com
*
- * Id: ins_goons.h,v 1.11 1996/11/14 02:37:16 millert Exp $
+ * Id: ins_goons.h,v 1.12 1998/01/13 04:48:17 millert Exp $
*/
#ifndef _SUDO_INS_GOONS_H
diff --git a/gnu/usr.bin/sudo/sudo/insults.h b/gnu/usr.bin/sudo/sudo/insults.h
index 55396e1ad66..947ec131917 100644
--- a/gnu/usr.bin/sudo/sudo/insults.h
+++ b/gnu/usr.bin/sudo/sudo/insults.h
@@ -1,7 +1,7 @@
-/* $OpenBSD: insults.h,v 1.3 1997/11/23 07:15:45 millert Exp $ */
+/* $OpenBSD: insults.h,v 1.4 1998/01/13 05:30:25 millert Exp $ */
/*
- * CU sudo version 1.5.3
+ * CU sudo version 1.5.4
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -19,7 +19,7 @@
*
* Please send bugs, changes, problems to sudo-bugs@courtesan.com
*
- * Id: insults.h,v 1.2 1996/11/17 16:33:59 millert Exp $
+ * Id: insults.h,v 1.24 1998/01/13 04:48:17 millert Exp $
*/
#ifndef _SUDO_INSULTS_H
diff --git a/gnu/usr.bin/sudo/sudo/interfaces.c b/gnu/usr.bin/sudo/sudo/interfaces.c
index d8612103c0a..540c7c6ad7f 100644
--- a/gnu/usr.bin/sudo/sudo/interfaces.c
+++ b/gnu/usr.bin/sudo/sudo/interfaces.c
@@ -1,7 +1,7 @@
-/* $OpenBSD: interfaces.c,v 1.3 1997/11/23 07:15:45 millert Exp $ */
+/* $OpenBSD: interfaces.c,v 1.4 1998/01/13 05:30:25 millert Exp $ */
/*
- * CU sudo version 1.5.3
+ * CU sudo version 1.5.4
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -29,7 +29,7 @@
*/
#ifndef lint
-static char rcsid[] = "Id: interfaces.c,v 1.27 1996/11/14 02:37:16 millert Exp $";
+static char rcsid[] = "Id: interfaces.c,v 1.28 1998/01/13 04:48:17 millert Exp $";
#endif /* lint */
#include "config.h"
diff --git a/gnu/usr.bin/sudo/sudo/logging.c b/gnu/usr.bin/sudo/sudo/logging.c
index 46aa1263d18..1ecef46a7a0 100644
--- a/gnu/usr.bin/sudo/sudo/logging.c
+++ b/gnu/usr.bin/sudo/sudo/logging.c
@@ -1,7 +1,7 @@
-/* $OpenBSD: logging.c,v 1.4 1997/11/23 07:15:45 millert Exp $ */
+/* $OpenBSD: logging.c,v 1.5 1998/01/13 05:30:26 millert Exp $ */
/*
- * CU sudo version 1.5.3 (based on Root Group sudo version 1.1)
+ * CU sudo version 1.5.4 (based on Root Group sudo version 1.1)
*
* This software comes with no waranty whatsoever, use at your own risk.
*
@@ -39,7 +39,7 @@
*/
#ifndef lint
-static char rcsid[] = "Id: logging.c,v 1.87 1997/08/06 18:58:06 millert Exp $";
+static char rcsid[] = "Id: logging.c,v 1.88 1998/01/13 04:48:42 millert Exp $";
#endif /* lint */
#include "config.h"
diff --git a/gnu/usr.bin/sudo/sudo/options.h b/gnu/usr.bin/sudo/sudo/options.h
index cc95d002e2f..adc0363d479 100644
--- a/gnu/usr.bin/sudo/sudo/options.h
+++ b/gnu/usr.bin/sudo/sudo/options.h
@@ -1,7 +1,7 @@
-/* $OpenBSD: options.h,v 1.7 1997/11/23 07:15:46 millert Exp $ */
+/* $OpenBSD: options.h,v 1.8 1998/01/13 05:30:26 millert Exp $ */
/*
- * CU sudo version 1.5.3
+ * CU sudo version 1.5.4
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -19,7 +19,7 @@
*
* Please send bugs, changes, problems to sudo-bugs@courtesan.com
*
- * Id: options.h,v 1.34 1996/11/14 03:50:03 millert Exp $
+ * Id: options.h,v 1.35 1998/01/13 04:48:42 millert Exp $
*/
#ifndef _SUDO_OPTIONS_H
diff --git a/gnu/usr.bin/sudo/sudo/parse.c b/gnu/usr.bin/sudo/sudo/parse.c
index 522e59ebff5..48ab5ee2f35 100644
--- a/gnu/usr.bin/sudo/sudo/parse.c
+++ b/gnu/usr.bin/sudo/sudo/parse.c
@@ -1,7 +1,7 @@
-/* $OpenBSD: parse.c,v 1.4 1998/01/13 04:01:31 millert Exp $ */
+/* $OpenBSD: parse.c,v 1.5 1998/01/13 05:30:27 millert Exp $ */
/*
- * CU sudo version 1.5.3
+ * CU sudo version 1.5.4
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@
*/
#ifndef lint
-static char rcsid[] = "Id: parse.c,v 1.76 1996/11/14 02:37:16 millert Exp $";
+static char rcsid[] = "Id: parse.c,v 1.78 1998/01/13 04:48:42 millert Exp $";
#endif /* lint */
#include "config.h"
diff --git a/gnu/usr.bin/sudo/sudo/parse.lex b/gnu/usr.bin/sudo/sudo/parse.lex
index 7f474ecf54e..9a46a4515d5 100644
--- a/gnu/usr.bin/sudo/sudo/parse.lex
+++ b/gnu/usr.bin/sudo/sudo/parse.lex
@@ -1,7 +1,7 @@
%{
-/* $OpenBSD: parse.lex,v 1.3 1997/11/23 07:15:47 millert Exp $ */
+/* $OpenBSD: parse.lex,v 1.4 1998/01/13 05:30:27 millert Exp $ */
/*
- * CU sudo version 1.5.3
+ * CU sudo version 1.5.4
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@
*/
#ifndef lint
-static char rcsid[] = "Id: parse.lex,v 1.69 1996/11/14 02:37:16 millert Exp $";
+static char rcsid[] = "Id: parse.lex,v 1.70 1998/01/13 04:48:42 millert Exp $";
#endif /* lint */
#include "config.h"
diff --git a/gnu/usr.bin/sudo/sudo/parse.yacc b/gnu/usr.bin/sudo/sudo/parse.yacc
index ae791302625..b9e28d7f292 100644
--- a/gnu/usr.bin/sudo/sudo/parse.yacc
+++ b/gnu/usr.bin/sudo/sudo/parse.yacc
@@ -1,8 +1,8 @@
%{
-/* $OpenBSD: parse.yacc,v 1.6 1997/11/23 07:15:47 millert Exp $ */
+/* $OpenBSD: parse.yacc,v 1.7 1998/01/13 05:30:28 millert Exp $ */
/*
- * CU sudo version 1.5.3
+ * CU sudo version 1.5.4
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -28,7 +28,7 @@
*/
#ifndef lint
-static char rcsid[] = "Id: parse.yacc,v 1.102 1996/11/14 20:09:12 millert Exp millert $";
+static char rcsid[] = "Id: parse.yacc,v 1.103 1998/01/13 04:48:42 millert Exp $";
#endif /* lint */
#include "config.h"
diff --git a/gnu/usr.bin/sudo/sudo/pathnames.h b/gnu/usr.bin/sudo/sudo/pathnames.h
index 2193978937c..e72a447cf5d 100644
--- a/gnu/usr.bin/sudo/sudo/pathnames.h
+++ b/gnu/usr.bin/sudo/sudo/pathnames.h
@@ -1,7 +1,7 @@
-/* $OpenBSD: pathnames.h,v 1.3 1997/11/23 07:15:48 millert Exp $ */
+/* $OpenBSD: pathnames.h,v 1.4 1998/01/13 05:30:28 millert Exp $ */
/*
- * CU sudo version 1.5.3
+ * CU sudo version 1.5.4
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -19,7 +19,7 @@
*
* Please send bugs, changes, problems to sudo-bugs@courtesan.com
*
- * Id: pathnames.h,v 1.23 1996/11/14 02:37:16 millert Exp $
+ * Id: pathnames.h,v 1.24 1998/01/13 04:48:42 millert Exp $
*/
/*
diff --git a/gnu/usr.bin/sudo/sudo/sudo.8 b/gnu/usr.bin/sudo/sudo/sudo.8
index 9b92c3719b2..3630213fcbe 100644
--- a/gnu/usr.bin/sudo/sudo/sudo.8
+++ b/gnu/usr.bin/sudo/sudo/sudo.8
@@ -1,18 +1,11 @@
.rn '' }`
-''' $OpenBSD: sudo.8,v 1.3 1997/11/23 07:15:48 millert Exp $
+''' $OpenBSD: sudo.8,v 1.4 1998/01/13 05:30:29 millert Exp $
'''
-''' $RCSfile: sudo.8,v $$Revision: 1.3 $$Date: 1997/11/23 07:15:48 $
+''' $RCSfile: sudo.8,v $$Revision: 1.4 $$Date: 1998/01/13 05:30:29 $
'''
''' $Log: sudo.8,v $
-''' Revision 1.3 1997/11/23 07:15:48 millert
-''' OpenBSD tags (and preserve sudo tags)
-''' updates from my sudo source tree:
-''' logging.c: deal with maxfilelen < 0 case
-''' sudo.c: correct error message if mode/owner wrong and not statable by owner
-''' compat.h: fix seteuid macro
-'''
-''' Revision 1.2 1996/11/17 16:34:04 millert
-''' Updated to sudo 1.5.3
+''' Revision 1.4 1998/01/13 05:30:29 millert
+''' sudo 1.5.4
'''
'''
.de Sh
@@ -57,16 +50,36 @@
.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
.ds L" ""
.ds R" ""
+''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of
+''' \*(L" and \*(R", except that they are used on ".xx" lines,
+''' such as .IP and .SH, which do another additional levels of
+''' double-quote interpretation
+.ds M" """
+.ds S" """
+.ds N" """""
+.ds T" """""
.ds L' '
.ds R' '
+.ds M' '
+.ds S' '
+.ds N' '
+.ds T' '
'br\}
.el\{\
.ds -- \(em\|
.tr \*(Tr
.ds L" ``
.ds R" ''
+.ds M" ``
+.ds S" ''
+.ds N" ``
+.ds T" ''
.ds L' `
.ds R' '
+.ds M' `
+.ds S' '
+.ds N' `
+.ds T' '
.ds PI \(*p
'br\}
.\" If the F register is turned on, we'll generate
@@ -85,10 +98,8 @@
.nr % 0
.rr F
.\}
-.TH sudo 8 "1.5.3" "6/Oct/96" "MAINTENANCE COMMANDS"
-.IX Title "sudo 8"
+.TH sudo 8 "1.5.4" "12/Jan/98" "MAINTENANCE COMMANDS"
.UC
-.IX Name "sudo - execute a command as the superuser"
.if n .hy 0
.if n .na
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
@@ -182,15 +193,12 @@
.\}
.rm #[ #] #H #V #F C
.SH "NAME"
-.IX Header "NAME"
sudo \- execute a command as the superuser
.SH "SYNOPSIS"
-.IX Header "SYNOPSIS"
\fBsudo\fR \fB\-V\fR | \fB\-h\fR | \fB\-l\fR | \fB\-v\fR | \fB\-k\fR | \fB\-s\fR | \fB\-H\fR |
[ \fB\-b\fR ] | [ \fB\-p\fR prompt ] [ \fB\-u\fR username/#uid] \fIcommand\fR
.SH "DESCRIPTION"
-.IX Header "DESCRIPTION"
-\fBsudo\fR allows a permitted user to execute a \fIcommand\fR
+\fBsudo\fR allows a permitted user to execute a \fIcommand\fR
as the superuser (real and effective uid and gid are set
to \f(CW0\fR and root's group as set in the passwd file respectively).
.PP
@@ -211,66 +219,53 @@ All preferences are defined at installation time and are derived from
the options.h and pathnames.h include files as well as as well as the
Makefile.
.SH "OPTIONS"
-.IX Header "OPTIONS"
\fBsudo\fR accepts the following command line options:
.Ip "-V" 4
-.IX Item "-V"
The \f(CW-V\fR (\fIversion\fR) option causes \fBsudo\fR to print the
version number and exit.
.Ip "-l" 4
-.IX Item "-l"
The \f(CW-l\fR (\fIlist\fR) option will list out the allowed and
forbidden commands for the user on the current host.
.Ip "-h" 4
-.IX Item "-h"
The \f(CW-h\fR (\fIhelp\fR) option causes \fBsudo\fR to print the version
of \fBsudo\fR and a usage message before exiting.
.Ip "-v" 4
-.IX Item "-v"
If given the \f(CW-v\fR (\fIvalidate\fR) option, \fBsudo\fR will update the
user's timestamp file, prompting for a password if necessary.
This extends the \fBsudo\fR timeout to for another N minutes
(where N is defined at installation time and defaults to 5
minutes) but does not run a command.
.Ip "-k" 4
-.IX Item "-k"
The \f(CW-k\fR (\fIkill\fR) option to \fBsudo\fR removes the user's timestamp
file, thus requiring a password the next time \fBsudo\fR is run.
This option does not require a password and was added to
allow a user to revoke \fBsudo\fR permissions from a .logout file.
.Ip "-b" 4
-.IX Item "-b"
The \f(CW-b\fR (\fIbackground\fR) option tells \fBsudo\fR to run the given
command in the background. Note that if you use the \f(CW-b\fR
option you cannot use shell job control to manipulate the command.
.Ip "-p" 4
-.IX Item "-p"
The \f(CW-p\fR (\fIprompt\fR) option allows you to override the default
password prompt and use a custom one. If the password prompt
contains the \f(CW%u\fR escape, \f(CW%u\fR will be replaced by the user's
login name. Similarly, \f(CW%h\fR will be replaced by the local
hostname.
.Ip "-u" 4
-.IX Item "-u"
The \f(CW-u\fR (\fIuser\fR) option causes sudo to run the specified command
as a user other than \fIroot\fR. To specify a \fIuid\fR instead of a
\fIusername\fR, use \*(L"#uid\*(R".
.Ip "-s" 4
-.IX Item "-s"
The \f(CW-s\fR (\fIshell\fR) option runs the shell specified by the \fI\s-1SHELL\s0\fR
environmental variable if it is set or the shell as specified
in \fIpasswd\fR\|(5).
.Ip "-H" 4
-.IX Item "-H"
The \f(CW-H\fR (\fI\s-1HOME\s0\fR) option sets the \fI\s-1HOME\s0\fR environmental variable
-to the homedir of the target user (root by default) as specified
+to the homedir of the target user (root by default) as specified
in \fIpasswd\fR\|(5).
.Ip "--" 4
-.IX Item "--"
The \f(CW--\fR flag indicates that \fBsudo\fR should stop processing command
line arguments. It is most useful in conjunction with the \f(CW-s\fR flag.
.SH "RETURN VALUES"
-.IX Header "RETURN VALUES"
\fBsudo\fR quits with an exit value of 1 if there is a
configuration/permission problem or if \fBsudo\fR cannot execute
the given command. In the latter case the error string is
@@ -284,7 +279,6 @@ circumstances. The most common reason for \fIstat\fR\|(3) to return
one of the directories in your PATH is on a machine that is
currently unreachable.
.SH "SECURITY NOTES"
-.IX Header "SECURITY NOTES"
\fBsudo\fR tries to be safe when executing external commands.
Variables that control how dynamic loading and binding is
done can be used to subvert the program that \fBsudo\fR runs.
@@ -330,13 +324,11 @@ sudo will log the anomaly. This is done to keep a user
from creating his/her own timestamp file with a bogus
date.
.SH "FILES"
-.IX Header "FILES"
.PP
.Vb 1
\& /etc/sudoers file of authorized users.
.Ve
.SH "ENVIRONMENT VARIABLES"
-.IX Header "ENVIRONMENT VARIABLES"
.PP
.Vb 10
\& PATH Set to a sane value if SECURE_PATH is set
@@ -351,21 +343,19 @@ date.
\& SUDO_PS1 If set, PS1 will be set to its value
.Ve
.SH "AUTHORS"
-.IX Header "AUTHORS"
Many people have worked on \fBsudo\fR over the years, this
version consists of code written primarily by:
.PP
.Vb 4
-\& Jeff Nieusma <nieusma@FirstLink.com>
-\& David Hieb <davehieb@internetone.com>
-\& Todd Miller <Todd.Miller@courtesan.com>
-\& Chris Jepeway <jepeway@cs.utk.edu>
+\& Jeff Nieusma
+\& David Hieb
+\& Todd Miller
+\& Chris Jepeway
.Ve
See the HISTORY file in the \fBsudo\fR distribution for more details.
.PP
Please send all bugs, comments, and changes to sudo-bugs@courtesan.com.
.SH "DISCLAIMER"
-.IX Header "DISCLAIMER"
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
@@ -375,13 +365,65 @@ You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
675 Mass Ave, Cambridge, MA 02139, USA.
.SH "CAVEATS"
-.IX Header "CAVEATS"
-There is no easy way to prevent a user from gaining a root shell if
+There is no easy way to prevent a user from gaining a root shell if
that user has access to commands allow shell escapes.
+.PP
+If users have sudo ALL there is nothing to prevent them from creating
+their own program that gives them a root shell regardless of any \*(L'!\*(R'
+elements in the user specification.
+.PP
Running shell scripts via \fBsudo\fR can expose the same kernel bugs
that make setuid shell scripts unsafe on some operating systems.
.SH "SEE ALSO"
-.IX Header "SEE ALSO"
\fIsudoers\fR\|(5), \fIvisudo\fR\|(8), \fIsu\fR\|(1).
.rn }` ''
+.IX Title "sudo 8"
+.IX Name "sudo - execute a command as the superuser"
+
+.IX Header "NAME"
+
+.IX Header "SYNOPSIS"
+
+.IX Header "DESCRIPTION"
+
+.IX Header "OPTIONS"
+
+.IX Item "-V"
+
+.IX Item "-l"
+
+.IX Item "-h"
+
+.IX Item "-v"
+
+.IX Item "-k"
+
+.IX Item "-b"
+
+.IX Item "-p"
+
+.IX Item "-u"
+
+.IX Item "-s"
+
+.IX Item "-H"
+
+.IX Item "--"
+
+.IX Header "RETURN VALUES"
+
+.IX Header "SECURITY NOTES"
+
+.IX Header "FILES"
+
+.IX Header "ENVIRONMENT VARIABLES"
+
+.IX Header "AUTHORS"
+
+.IX Header "DISCLAIMER"
+
+.IX Header "CAVEATS"
+
+.IX Header "SEE ALSO"
+
diff --git a/gnu/usr.bin/sudo/sudo/sudo.c b/gnu/usr.bin/sudo/sudo/sudo.c
index dd272cc85ba..87a511b3bb3 100644
--- a/gnu/usr.bin/sudo/sudo/sudo.c
+++ b/gnu/usr.bin/sudo/sudo/sudo.c
@@ -1,7 +1,7 @@
-/* $OpenBSD: sudo.c,v 1.6 1997/12/21 23:15:06 millert Exp $ */
+/* $OpenBSD: sudo.c,v 1.7 1998/01/13 05:30:29 millert Exp $ */
/*
- * CU sudo version 1.5.3 (based on Root Group sudo version 1.1)
+ * CU sudo version 1.5.4 (based on Root Group sudo version 1.1)
*
* This software comes with no waranty whatsoever, use at your own risk.
*
@@ -53,7 +53,7 @@
*/
#ifndef lint
-static char rcsid[] = "Id: sudo.c,v 1.177 1997/11/23 06:53:37 millert Exp $";
+static char rcsid[] = "Id: sudo.c,v 1.179 1998/01/13 04:48:42 millert Exp $";
#endif /* lint */
#define MAIN
diff --git a/gnu/usr.bin/sudo/sudo/sudo.h b/gnu/usr.bin/sudo/sudo/sudo.h
index a4b572fc63b..4b29f117e64 100644
--- a/gnu/usr.bin/sudo/sudo/sudo.h
+++ b/gnu/usr.bin/sudo/sudo/sudo.h
@@ -1,7 +1,7 @@
-/* $OpenBSD: sudo.h,v 1.3 1997/11/23 07:15:49 millert Exp $ */
+/* $OpenBSD: sudo.h,v 1.4 1998/01/13 05:30:30 millert Exp $ */
/*
- * CU sudo version 1.5.3 (based on Root Group sudo version 1.1)
+ * CU sudo version 1.5.4 (based on Root Group sudo version 1.1)
*
* This software comes with no waranty whatsoever, use at your own risk.
*
@@ -27,7 +27,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * Id: sudo.h,v 1.114 1996/11/14 20:08:32 millert Exp $
+ * Id: sudo.h,v 1.115 1998/01/13 04:48:42 millert Exp $
*/
#ifndef _SUDO_SUDO_H
diff --git a/gnu/usr.bin/sudo/sudo/sudo_setenv.c b/gnu/usr.bin/sudo/sudo/sudo_setenv.c
index cb87b7ed540..0f4e42f43cf 100644
--- a/gnu/usr.bin/sudo/sudo/sudo_setenv.c
+++ b/gnu/usr.bin/sudo/sudo/sudo_setenv.c
@@ -1,7 +1,7 @@
-/* $OpenBSD: sudo_setenv.c,v 1.3 1997/11/23 07:15:49 millert Exp $ */
+/* $OpenBSD: sudo_setenv.c,v 1.4 1998/01/13 05:30:30 millert Exp $ */
/*
- * CU sudo version 1.5.3
+ * CU sudo version 1.5.4
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -28,7 +28,7 @@
*/
#ifndef lint
-static char rcsid[] = "Id: sudo_setenv.c,v 1.18 1996/11/14 02:37:16 millert Exp $";
+static char rcsid[] = "Id: sudo_setenv.c,v 1.19 1998/01/13 04:48:42 millert Exp $";
#endif /* lint */
#include "config.h"
diff --git a/gnu/usr.bin/sudo/sudo/sudoers.5 b/gnu/usr.bin/sudo/sudo/sudoers.5
index f64d2f91703..f940411f4cf 100644
--- a/gnu/usr.bin/sudo/sudo/sudoers.5
+++ b/gnu/usr.bin/sudo/sudo/sudoers.5
@@ -1,18 +1,11 @@
.rn '' }`
-''' $OpenBSD: sudoers.5,v 1.3 1997/11/23 07:15:50 millert Exp $
+''' $OpenBSD: sudoers.5,v 1.4 1998/01/13 05:30:30 millert Exp $
'''
-''' $RCSfile: sudoers.5,v $$Revision: 1.3 $$Date: 1997/11/23 07:15:50 $
+''' $RCSfile: sudoers.5,v $$Revision: 1.4 $$Date: 1998/01/13 05:30:30 $
'''
''' $Log: sudoers.5,v $
-''' Revision 1.3 1997/11/23 07:15:50 millert
-''' OpenBSD tags (and preserve sudo tags)
-''' updates from my sudo source tree:
-''' logging.c: deal with maxfilelen < 0 case
-''' sudo.c: correct error message if mode/owner wrong and not statable by owner
-''' compat.h: fix seteuid macro
-'''
-''' Revision 1.2 1996/11/17 16:34:06 millert
-''' Updated to sudo 1.5.3
+''' Revision 1.4 1998/01/13 05:30:30 millert
+''' sudo 1.5.4
'''
'''
.de Sh
@@ -57,16 +50,36 @@
.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
.ds L" ""
.ds R" ""
+''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of
+''' \*(L" and \*(R", except that they are used on ".xx" lines,
+''' such as .IP and .SH, which do another additional levels of
+''' double-quote interpretation
+.ds M" """
+.ds S" """
+.ds N" """""
+.ds T" """""
.ds L' '
.ds R' '
+.ds M' '
+.ds S' '
+.ds N' '
+.ds T' '
'br\}
.el\{\
.ds -- \(em\|
.tr \*(Tr
.ds L" ``
.ds R" ''
+.ds M" ``
+.ds S" ''
+.ds N" ``
+.ds T" ''
.ds L' `
.ds R' '
+.ds M' `
+.ds S' '
+.ds N' `
+.ds T' '
.ds PI \(*p
'br\}
.\" If the F register is turned on, we'll generate
@@ -85,10 +98,8 @@
.nr % 0
.rr F
.\}
-.TH sudoers 5 "1.5.3" "13/Nov/96" "FILE FORMATS"
-.IX Title "sudoers 5"
+.TH sudoers 5 "1.5.4" "13/Nov/96" "FILE FORMATS"
.UC
-.IX Name "sudoers - list of which users may execute what as root"
.if n .hy 0
.if n .na
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
@@ -182,10 +193,8 @@
.\}
.rm #[ #] #H #V #F C
.SH "NAME"
-.IX Header "NAME"
sudoers \- list of which users may execute what as root
.SH "DESCRIPTION"
-.IX Header "DESCRIPTION"
The \fIsudoers\fR file is composed of an optional host alias section,
an optional command alias section and the user specification section.
All command or host aliases need to start with their respective keywords
@@ -193,7 +202,6 @@ All command or host aliases need to start with their respective keywords
If there are multiple occurrences of a user, the union of the entries
will be used.
.Sh "user specification format:"
-.IX Subsection "user specification format:"
.PP
.Vb 1
\& user access_group [: access_group] ...
@@ -211,7 +219,6 @@ will be used.
\& op ::= the logical "!" NOT operator.
.Ve
.Sh "host alias section format:"
-.IX Subsection "host alias section format:"
.PP
.Vb 1
\& Host_Alias HOSTALIAS = host-list
@@ -223,7 +230,6 @@ will be used.
\& ip addresses, networks.
.Ve
.Sh "user alias section format:"
-.IX Subsection "user alias section format:"
.PP
.Vb 1
\& User_Alias USERALIAS = user-list
@@ -234,7 +240,6 @@ will be used.
\& user-list ::= a comma separated list of users, groups, netgroups.
.Ve
.Sh "runas alias section format:"
-.IX Subsection "runas alias section format:"
.PP
.Vb 1
\& Runas_Alias RUNASALIAS = runas-list
@@ -245,7 +250,6 @@ will be used.
\& runas-list ::= a comma separated list of users, groups, netgroups.
.Ve
.Sh "command alias section format:"
-.IX Subsection "command alias section format:"
.PP
.Vb 1
\& Cmnd_Alias CMNDALIAS = cmnd-list
@@ -256,7 +260,6 @@ will be used.
\& cmnd-list ::= a comma separated list commands.
.Ve
.Sh "command specification:"
-.IX Subsection "command specification:"
.PP
.Vb 1
\& path arg1 arg2 .. argn = command
@@ -266,35 +269,26 @@ will be used.
\& arg[1..n] ::= optional command line arguments.
.Ve
.Sh "wildcards (aka meta characters):"
-.IX Subsection "wildcards (aka meta characters):"
\fBsudo\fR allows shell-style \fIwildcards\fR along with command arguments
in the \fIsudoers\fR file. Wildcard matching is done via the \fB\s-1POSIX\s0\fR
\f(CWfnmatch(3)\fR routine.
.Ip "\f(CW*\fR" 8
-.IX Item "\f(CW*\fR"
Matches any set of zero or more characters.
.Ip "\f(CW?\fR" 8
-.IX Item "\f(CW?\fR"
Matches any single character.
.Ip "\f(CW[...]\fR" 8
-.IX Item "\f(CW[...]\fR"
Matches any character in the specified range.
.Ip "\f(CW[!...]\fR" 8
-.IX Item "\f(CW[!...]\fR"
Matches any character \fBnot\fR in the specified range.
.Ip "\f(CW\ex\fR" 8
-.IX Item "\f(CW\ex\fR"
For any character \*(L"x\*(R", evaluates to \*(L"x\*(R". This is used to
escape special characters such as: \*(L"*\*(R", \*(L"?\*(R", \*(L"[\*(R", and \*(L"}\*(R".
.Sh "exceptions to wildcard rules:"
-.IX Subsection "exceptions to wildcard rules:"
The following exceptions apply to the above rules:
.Ip "\f(CW""\fR" 8
-.IX Item "\f(CW""\fR"
If the empty string \f(CW""\fR is the only command line argument in the
\fIsudoers\fR entry it means that command may take \fBno\fR arguments.
.Sh "other special characters and reserved words:"
-.IX Subsection "other special characters and reserved words:"
Text after a pound sign (\fB#\fR) is considered a comment.
Words that begin with a percent sign (\fB%\fR) are assumed to
be \s-1UN\s0*X groups (%staff refers to users in the group \fIstaff\fR).
@@ -320,7 +314,6 @@ arguments span multiple lines as long as the line continuance
character \*(L"\e\*(R" is used. The following characters must be escaped
with a \*(L"\e\*(R" if used in command arguments: \*(L",\*(R", \*(L":\*(R", \*(L"=\*(R", \*(L"\e\*(R".
.SH "EXAMPLES"
-.IX Header "EXAMPLES"
.PP
.Vb 7
\& # Host alias specification
@@ -365,7 +358,6 @@ with a \*(L"\e\*(R" if used in command arguments: \*(L",\*(R", \*(L":\*(R", \*(L
\& steve CSNETS=(operator) /usr/op_commands/
.Ve
.Sh "Host Alias specifications:"
-.IX Subsection "Host Alias specifications:"
The are four \fIhost aliases\fR. The first actually contains
two \fIaliases\fR. It sets \f(CWHUB\fR to be \f(CWhoudini\fR and \f(CWREMOTE\fR
to the three machines \f(CWmerlin\fR, \f(CWkodiakthorn\fR and \f(CWspirit\fR.
@@ -377,84 +369,142 @@ nets. The \f(CWCUNETS\fR alias will match any host on the 128.138.0.0
addresses. Unless an explicate netmask is given, the local \fInetmask\fR
is used to determine whether or not the current host belongs to a network.
.Sh "User Alias specifications:"
-.IX Subsection "User Alias specifications:"
The two \fIuser aliases\fR simply groups the \f(CWFULLTIME\fR and
\f(CWPARTTIME\fR folks into two separate aliases.
.Sh "Command alias specifications:"
-.IX Subsection "Command alias specifications:"
Command aliases are lists of commands with or without associated
command line arguments. The entries above should be self-explanatory.
.Sh "User specifications:"
-.IX Subsection "User specifications:"
.Ip "\s-1FULLTIME\s0" 16
-.IX Item "\s-1FULLTIME\s0"
Full-time sysadmins in the \f(CWFULLTIME\fR alias may run any
command on any host as any user without a password.
.Ip "%wheel" 16
-.IX Item "%wheel"
Any user in the \s-1UN\s0*X group \f(CWwheel\fR may run any
command on any host.
.Ip "\s-1PARTTIME\s0" 16
-.IX Item "\s-1PARTTIME\s0"
Part-time sysadmins in the \f(CWPARTTIME\fR alias may run any
command except those in the \f(CWSHELLS\fR and \f(CWSU\fR aliases
on any host.
.Ip "+interns" 16
-.IX Item "+interns"
Any user in the netgroup \f(CWinterns\fR may run any
command except those in the \f(CWSHELLS\fR and \f(CWSU\fR aliases
on any host that is in the \f(CWopenlabs\fR netgroup.
.Ip "britt" 16
-.IX Item "britt"
The user \f(CWbritt\fR may run commands in the \f(CWSHUTDOWN\fR alias
on the \f(CWREMOTE\fR machines and commands in the \f(CWLPCS\fR alias
on any machine.
.Ip "jimbo" 16
-.IX Item "jimbo"
The user \f(CWjimbo\fR may \f(CWsu\fR to any user save root on the
machines on \f(CWCUNETS\fR (which is explicately listed as a class
B network).
.Ip "nieusma" 16
-.IX Item "nieusma"
The user \f(CWnieusma\fR may run commands in the \f(CWSHUTDOWN\fR alias
as well as \fI/etc/reboot\fR on the \f(CWSERVER\fR machines and
any command except those in the \f(CWSHELLS\fR alias on the \f(CWHUB\fR
machines.
.Ip "jill" 16
-.IX Item "jill"
The user \f(CWjill\fR may run \f(CW/etc/shutdown -h now\fR or
\f(CW/etc/shutdown -r now\fR as well as the commands in the
\f(CWMISC\fR alias on houdini.
.Ip "markm" 16
-.IX Item "markm"
The user \f(CWmarkm\fR may run any command on the \f(CWHUB\fR machines
except \fI/etc/shutdown\fR, \fI/etc/halt\fR, and commands listed
in the \f(CWMISC\fR alias.
.Ip "davehieb" 16
-.IX Item "davehieb"
The user \f(CWdavehieb\fR may run any command on \f(CWmerlin\fR as any
user in the Runas_Alias \s-1OP\s0 (ie: root or operator). He may
also run \fI/etc/halt\fR on the \f(CWSERVERS\fR and any command
on \f(CWkodiakthorn\fR (no password required on \f(CWkodiakthorn\fR).
.Ip "steve" 16
-.IX Item "steve"
The user \f(CWsteve\fR may run any command in the \fI/usr/op_commands/\fR
directory as user \f(CWoperator\fR on the machines on \f(CWCSNETS\fR.
.SH "CAVEATS"
-.IX Header "CAVEATS"
The \fIsudoers\fR file should \fBalways\fR be edited by the \fBvisudo\fR
command which locks the file and does grammatical checking. It is
imperative that the \fIsudoers\fR be free of syntax errors since sudo
will not run with a syntactically incorrect \fIsudoers\fR file.
.SH "FILES"
-.IX Header "FILES"
.PP
.Vb 2
\& /etc/sudoers file of authorized users.
\& /etc/netgroup list of network groups.
.Ve
.SH "SEE ALSO"
-.IX Header "SEE ALSO"
\fIsudo\fR\|(8), \fIvisudo\fR\|(8), \fIsu\fR\|(1), \fIfnmatch\fR\|(3).
.rn }` ''
+.IX Title "sudoers 5"
+.IX Name "sudoers - list of which users may execute what as root"
+
+.IX Header "NAME"
+
+.IX Header "DESCRIPTION"
+
+.IX Subsection "user specification format:"
+
+.IX Subsection "host alias section format:"
+
+.IX Subsection "user alias section format:"
+
+.IX Subsection "runas alias section format:"
+
+.IX Subsection "command alias section format:"
+
+.IX Subsection "command specification:"
+
+.IX Subsection "wildcards (aka meta characters):"
+
+.IX Item "\f(CW*\fR"
+
+.IX Item "\f(CW?\fR"
+
+.IX Item "\f(CW[...]\fR"
+
+.IX Item "\f(CW[!...]\fR"
+
+.IX Item "\f(CW\ex\fR"
+
+.IX Subsection "exceptions to wildcard rules:"
+
+.IX Item "\f(CW""\fR"
+
+.IX Subsection "other special characters and reserved words:"
+
+.IX Header "EXAMPLES"
+
+.IX Subsection "Host Alias specifications:"
+
+.IX Subsection "User Alias specifications:"
+
+.IX Subsection "Command alias specifications:"
+
+.IX Subsection "User specifications:"
+
+.IX Item "\s-1FULLTIME\s0"
+
+.IX Item "%wheel"
+
+.IX Item "\s-1PARTTIME\s0"
+
+.IX Item "+interns"
+
+.IX Item "britt"
+
+.IX Item "jimbo"
+
+.IX Item "nieusma"
+
+.IX Item "jill"
+
+.IX Item "markm"
+
+.IX Item "davehieb"
+
+.IX Item "steve"
+
+.IX Header "CAVEATS"
+
+.IX Header "FILES"
+
+.IX Header "SEE ALSO"
+
diff --git a/gnu/usr.bin/sudo/sudo/tgetpass.c b/gnu/usr.bin/sudo/sudo/tgetpass.c
index 29455dc53e7..e129c98a53b 100644
--- a/gnu/usr.bin/sudo/sudo/tgetpass.c
+++ b/gnu/usr.bin/sudo/sudo/tgetpass.c
@@ -1,7 +1,7 @@
-/* $OpenBSD: tgetpass.c,v 1.4 1997/11/23 07:15:50 millert Exp $ */
+/* $OpenBSD: tgetpass.c,v 1.5 1998/01/13 05:30:31 millert Exp $ */
/*
- * CU sudo version 1.5.3
+ * CU sudo version 1.5.4
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -29,7 +29,7 @@
*/
#ifndef lint
-static char rcsid[] = "Id: tgetpass.c,v 1.50 1996/11/14 02:37:16 millert Exp millert $";
+static char rcsid[] = "Id: tgetpass.c,v 1.52 1998/01/13 04:48:42 millert Exp $";
#endif /* lint */
#include "config.h"
diff --git a/gnu/usr.bin/sudo/sudo/version.h b/gnu/usr.bin/sudo/sudo/version.h
index 2492632f781..85e9893cf11 100644
--- a/gnu/usr.bin/sudo/sudo/version.h
+++ b/gnu/usr.bin/sudo/sudo/version.h
@@ -1,7 +1,7 @@
-/* $OpenBSD: version.h,v 1.3 1997/11/23 07:15:51 millert Exp $ */
+/* $OpenBSD: version.h,v 1.4 1998/01/13 05:30:31 millert Exp $ */
/*
- * CU sudo version 1.5.3
+ * CU sudo version 1.5.4
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -19,12 +19,12 @@
*
* Please send bugs, changes, problems to sudo-bugs@courtesan.com
*
- * Id: version.h,v 1.43 1996/11/14 02:37:16 millert Exp $
+ * Id: version.h,v 1.44 1998/01/13 04:48:42 millert Exp $
*/
#ifndef _SUDO_VERSION_H
#define _SUDO_VERSION_H
-static char version[] = "1.5.3";
+static char version[] = "1.5.4";
#endif /* _SUDO_VERSION_H */
diff --git a/gnu/usr.bin/sudo/visudo/visudo.8 b/gnu/usr.bin/sudo/visudo/visudo.8
index fd638908884..29002197512 100644
--- a/gnu/usr.bin/sudo/visudo/visudo.8
+++ b/gnu/usr.bin/sudo/visudo/visudo.8
@@ -1,18 +1,11 @@
.rn '' }`
-''' $OpenBSD: visudo.8,v 1.3 1997/11/23 07:15:51 millert Exp $
+''' $OpenBSD: visudo.8,v 1.4 1998/01/13 05:30:32 millert Exp $
'''
-''' $RCSfile: visudo.8,v $$Revision: 1.3 $$Date: 1997/11/23 07:15:51 $
+''' $RCSfile: visudo.8,v $$Revision: 1.4 $$Date: 1998/01/13 05:30:32 $
'''
''' $Log: visudo.8,v $
-''' Revision 1.3 1997/11/23 07:15:51 millert
-''' OpenBSD tags (and preserve sudo tags)
-''' updates from my sudo source tree:
-''' logging.c: deal with maxfilelen < 0 case
-''' sudo.c: correct error message if mode/owner wrong and not statable by owner
-''' compat.h: fix seteuid macro
-'''
-''' Revision 1.2 1996/11/17 16:34:08 millert
-''' Updated to sudo 1.5.3
+''' Revision 1.4 1998/01/13 05:30:32 millert
+''' sudo 1.5.4
'''
'''
.de Sh
@@ -57,16 +50,36 @@
.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
.ds L" ""
.ds R" ""
+''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of
+''' \*(L" and \*(R", except that they are used on ".xx" lines,
+''' such as .IP and .SH, which do another additional levels of
+''' double-quote interpretation
+.ds M" """
+.ds S" """
+.ds N" """""
+.ds T" """""
.ds L' '
.ds R' '
+.ds M' '
+.ds S' '
+.ds N' '
+.ds T' '
'br\}
.el\{\
.ds -- \(em\|
.tr \*(Tr
.ds L" ``
.ds R" ''
+.ds M" ``
+.ds S" ''
+.ds N" ``
+.ds T" ''
.ds L' `
.ds R' '
+.ds M' `
+.ds S' '
+.ds N' `
+.ds T' '
.ds PI \(*p
'br\}
.\" If the F register is turned on, we'll generate
@@ -85,10 +98,8 @@
.nr % 0
.rr F
.\}
-.TH visudo 8 "1.5.3" "13/Nov/96" "MAINTENANCE COMMANDS"
-.IX Title "visudo 8"
+.TH visudo 8 "1.5.4" "13/Nov/96" "MAINTENANCE COMMANDS"
.UC
-.IX Name "visudo - edit the sudoers file"
.if n .hy 0
.if n .na
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
@@ -182,13 +193,10 @@
.\}
.rm #[ #] #H #V #F C
.SH "NAME"
-.IX Header "NAME"
visudo \- edit the sudoers file
.SH "SYNOPSIS"
-.IX Header "SYNOPSIS"
\fBvisudo\fR [ \fB\-V\fR ]
.SH "DESCRIPTION"
-.IX Header "DESCRIPTION"
\fBvisudo\fR edits the \fIsudoers\fR file in a safe fashion, analogous to
\fIvipw\fR\|(8). \fBvisudo\fR locks the \fIsudoers\fR file against multiple
simultaneous edits, provides basic sanity checks, and checks
@@ -213,21 +221,17 @@ When editing the \fIsudoers\fR file after a parse error has been
detected the cursor will be placed on the line where the error
occurred (if the editor supports this feature).
.SH "OPTIONS"
-.IX Header "OPTIONS"
\fBvisudo\fR accepts the following command line option:
.Ip "-V" 4
-.IX Item "-V"
The \f(CW-V\fR (version) option causes \fBvisudo\fR to print the version number
and exit.
.SH "FILES"
-.IX Header "FILES"
.PP
.Vb 2
\& /etc/sudoers file of authorized users.
\& /etc/stmp lock file for visudo.
.Ve
.SH "ENVIRONMENT VARIABLES"
-.IX Header "ENVIRONMENT VARIABLES"
The following are used only if \fBvisudo\fR was compiled with the
\fIENV_EDITOR\fR option:
.PP
@@ -236,7 +240,6 @@ The following are used only if \fBvisudo\fR was compiled with the
\& VISUAL Used by visudo if EDITOR is not set.
.Ve
.SH "AUTHOR"
-.IX Header "AUTHOR"
Many people have worked on \fIsudo\fR over the years, this version of
\fBvisudo\fR was written by:
.PP
@@ -247,7 +250,6 @@ See the HISTORY file in the sudo distribution for more details.
.PP
Please send all bugs, comments, and changes to sudo-bugs@courtesan.com.
.SH "DISCLAIMER"
-.IX Header "DISCLAIMER"
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
@@ -257,7 +259,6 @@ You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
675 Mass Ave, Cambridge, MA 02139, USA.
.SH "CAVEATS"
-.IX Header "CAVEATS"
Due to the syntax of the \fIsudoers\fR file, there is no way
for \fBvisudo\fR to tell the difference between a mistyped
{Host,User,Cmnd}_Alias and a user or host name.
@@ -265,11 +266,36 @@ for \fBvisudo\fR to tell the difference between a mistyped
There is no easy way to prevent a user from gaining a root shell if
the editor used by \fBvisudo\fR allows shell escapes.
.SH "BUGS"
-.IX Header "BUGS"
The \fI\-V\fR flag gives the version of the \fIsudo\fR package rather than
the individual \fBvisudo\fR program.
.SH "SEE ALSO"
-.IX Header "SEE ALSO"
\fIsudo\fR\|(8), \fIvipw\fR\|(8).
.rn }` ''
+.IX Title "visudo 8"
+.IX Name "visudo - edit the sudoers file"
+
+.IX Header "NAME"
+
+.IX Header "SYNOPSIS"
+
+.IX Header "DESCRIPTION"
+
+.IX Header "OPTIONS"
+
+.IX Item "-V"
+
+.IX Header "FILES"
+
+.IX Header "ENVIRONMENT VARIABLES"
+
+.IX Header "AUTHOR"
+
+.IX Header "DISCLAIMER"
+
+.IX Header "CAVEATS"
+
+.IX Header "BUGS"
+
+.IX Header "SEE ALSO"
+
diff --git a/gnu/usr.bin/sudo/visudo/visudo.c b/gnu/usr.bin/sudo/visudo/visudo.c
index 672a151a416..e3cbbbe7145 100644
--- a/gnu/usr.bin/sudo/visudo/visudo.c
+++ b/gnu/usr.bin/sudo/visudo/visudo.c
@@ -1,7 +1,7 @@
-/* $OpenBSD: visudo.c,v 1.5 1997/11/23 07:15:52 millert Exp $ */
+/* $OpenBSD: visudo.c,v 1.6 1998/01/13 05:30:32 millert Exp $ */
/*
- * CU sudo version 1.5.3
+ * CU sudo version 1.5.4
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -28,7 +28,7 @@
*/
#ifndef lint
-static char rcsid[] = "Id: visudo.c,v 1.80 1996/11/14 02:37:16 millert Exp millert $";
+static char rcsid[] = "Id: visudo.c,v 1.82 1998/01/13 04:48:42 millert Exp $";
#endif /* lint */
#include "config.h"