Annotation of src/usr.bin/doas/doas.conf.5, Revision 1.6
1.6 ! jmc 1: .\" $OpenBSD: doas.conf.5,v 1.5 2015/07/19 22:09:08 benno Exp $
1.1 tedu 2: .\"
3: .\"Copyright (c) 2015 Ted Unangst <tedu@openbsd.org>
4: .\"
5: .\"Permission to use, copy, modify, and distribute this software for any
6: .\"purpose with or without fee is hereby granted, provided that the above
7: .\"copyright notice and this permission notice appear in all copies.
8: .\"
9: .\"THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10: .\"WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11: .\"MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12: .\"ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13: .\"WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14: .\"ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15: .\"OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1.6 ! jmc 16: .Dd $Mdocdate: July 19 2015 $
1.1 tedu 17: .Dt DOAS.CONF 5
18: .Os
19: .Sh NAME
20: .Nm doas.conf
21: .Nd doas configuration file
22: .Sh DESCRIPTION
23: The
24: .Xr doas 1
25: utility executes commands as other users according to the rules
26: in the
27: .Nm
28: configuration file.
29: .Pp
30: The rules have the following format:
1.3 schwarze 31: .Bd -ragged -offset indent
32: .Ic permit Ns | Ns Ic deny
33: .Op Ar options
1.4 bentley 34: .Ar identity
1.3 schwarze 35: .Op Ic as Ar target
36: .Op Ic cmd Ar command
1.1 tedu 37: .Ed
38: .Pp
39: Rules consist of the following parts:
1.3 schwarze 40: .Bl -tag -width 11n
41: .It Ic permit Ns | Ns Ic deny
1.1 tedu 42: The action to be taken if this rule matches.
1.3 schwarze 43: .It Ar options
1.1 tedu 44: Options are:
1.3 schwarze 45: .Bl -tag -width keepenv
46: .It Ic nopass
1.1 tedu 47: The user is not required to enter a password.
1.3 schwarze 48: .It Ic keepenv
1.1 tedu 49: The user's environment is maintained.
1.5 benno 50: The default is to reset the environment, except for the variables
51: .Ev DISPLAY ,
52: .Ev HOME ,
53: .Ev LOGNAME ,
54: .Ev MAIL ,
55: .Ev SHELL ,
56: .Ev PATH ,
57: .Ev TERM ,
58: .Ev USER
59: and
60: .Ev USERNAME .
1.3 schwarze 61: .It Ic keepenv { Oo variable names Oc Ic }
1.5 benno 62: Reset the environment, but keep the space-separated specified variables.
1.1 tedu 63: .El
1.3 schwarze 64: .It Ar identity
1.1 tedu 65: The username to match.
66: Groups may be specified by prepending a colon (:).
67: Numeric IDs are also accepted.
1.3 schwarze 68: .It Ic as Ar target
1.1 tedu 69: The target user the running user is allowed to run the command as.
70: The default is root.
1.3 schwarze 71: .It Ic cmd Ar command
1.1 tedu 72: The command the user is allowed or denied to run.
73: The default is all commands.
74: Be advised that it's best to specify absolute paths.
75: .El
76: .Pp
77: The last matching rule determines the action taken.
1.5 benno 78: .Pp
79: The current line can be extended over multiple lines using a backslash
80: .Pq Sq \e .
81: Comments can be put anywhere in the file using a hash mark
82: .Pq Sq # ,
83: and extend to the end of the current line.
1.1 tedu 84: .Sh EXAMPLES
1.5 benno 85: The following example permits users in group wsrc to build ports,
86: wheel to execute commands as root while keeping the environment
87: variables
88: .Ev ENV ,
89: .Ev PS1 ,
90: and
91: .Ev SSH_AUTH_SOCK ,
1.1 tedu 92: and additionally permits tedu to run procmap as root without a password.
93: .Bd -literal -offset indent
1.6 ! jmc 94: # Non-exhaustive list of variables needed to
1.5 benno 95: # build release(8) and ports(7)
96: permit nopass keepenv { \e
97: FTPMODE PKG_CACHE PKG_PATH SM_PATH SSH_AUTH_SOCK \e
98: DESTDIR DISTDIR FETCH_CMD FLAVOR GROUP MAKE MAKECONF \e
99: MULTI_PACKAGES NOMAN OKAY_FILES OWNER PKG_DBDIR \e
100: PKG_DESTDIR PKG_TMPDIR PORTSDIR RELEASEDIR SHARED_ONLY \e
101: SUBPACKAGE WRKOBJDIR SUDO_PORT_V1 } :wsrc
102: permit nopass keepenv { ENV PS1 SSH_AUTH_SOCK } :wheel
1.1 tedu 103: permit nopass tedu cmd /usr/sbin/procmap
104: .Ed
1.3 schwarze 105: .Sh SEE ALSO
106: .Xr doas 1
107: .Sh HISTORY
108: The
109: .Nm
110: configuration file first appeared in
111: .Ox 5.8 .
112: .Sh AUTHORS
113: .An Ted Unangst Aq Mt tedu@openbsd.org