Commit graph

132 commits

Author SHA1 Message Date
Jesse Smith c70338eefd When performing a login (-S flag) the target user's language settings are
applied from login.conf. Otherwise the original user's language is carried over.
2021-06-01 20:47:12 -03:00
Jesse Smith 2299d4967d Make sure LANG environment variable is copied over to the target
user from the original, if it is defined. Avoids switching languages
on the original user by surprise.
2021-06-01 14:09:28 -03:00
Jesse Smith ab3ae5ad41 On FreeBSD limits set by the user's class (in /etc/login.conf) would
not be respected when running doas. The default class would always
be used, ignoring both the classing class and the target user's class.

This came about because FreeBSD has a "class" field in the password
structure, but other supported systems like Linux do not. doas.c and
env.c have been patched to support FreeBSD's class field in the password
structure. Login class limits are now respected.
2021-05-30 12:27:44 -03:00
Jesse Smith d291aba9b0
Merge pull request #76 from msmafra/master
Minor fix for the titles
2021-02-19 00:32:01 -04:00
Marcelo dos Santos Mafra 72171e0536
Minor fix for the titles
Tiny fix for the titles. I used the wrong level in the markup.
2021-02-18 20:37:39 -03:00
Jesse Smith 967418e3e7
Merge pull request #74 from msmafra/master
Fixed/Added, after tests, CentOS and Fedora build dependencies.
2021-02-15 16:42:33 -04:00
Marcelo dos Santos Mafra 7ad7fa0776 Fixed/Added, after tests, CentOS and Fedora build dependencies. 2021-02-15 16:42:24 -03:00
Jesse Smith 294a476290
Merge pull request #73 from josephbmanley/docs/FedoraBuildDependencies
Add Fedora build dependencies to README.md
2021-02-13 10:15:03 -04:00
Joseph Manley 1050ff4a5a Add Fedora build dependencies to README.md 2021-02-12 22:34:14 -05:00
Jesse Smith 7c2fc782d0
Merge pull request #71 from freezboltz/patch-1
Typo
2021-02-04 07:17:38 -04:00
Anant Murmu 79f5a63f0c
Typo
Replaced safe with save
2021-02-04 09:53:35 +05:30
Jesse Smith 21c215beb6 Updated Linux install instructions in README file in
order to account for Ubuntu family of distributions and
systems without sudo installed.
2021-02-02 23:24:11 -04:00
Jesse Smith bb7069a9ff Modified the doas.conf manual page to include a note about
each rule in the doas.conf file requiring a newline at
the end.
2021-02-02 19:35:37 -04:00
Jesse Smith 07f0ad981b Mention running GUI applications in the README file. 2021-02-01 21:18:18 -04:00
Jesse Smith 3b7c2c26c8
Update README.md 2021-01-30 14:01:14 +00:00
Jesse Smith 6001d9c0fb Updated README file to match vidoas requirements and add a warning
for macOS users running homebrew.
2021-01-28 09:49:38 -04:00
Jesse Smith 91622fcbb1 Added the "nolog" configuration file flag which allows specified
users to perform commands without successful commands being
logged to syslogd.

Added documentation to doas.conf manual page and doas.conf.sample
files to include tips and and example of the "nolog" flag in action.

The "nolog" flag is a feature of OpenBSD's doas command and has
been introduced for compatibility and as an optional way to avoid
filling up system logs with successful doas calls.
2021-01-27 22:43:22 -04:00
Jesse Smith 1110295035
Merge pull request #58 from earnestma/earne/readme-fix-typo
Fix typo in README.md
2021-01-27 18:36:49 -04:00
earnest ma 8d4e9242c5
Fix typo in README.md
non-privleged -> non-privileged
2021-01-27 14:44:51 -05:00
Jesse Smith 929ab00b25 Minor update to switch from int to size_t for number of
rules. Reflects upstream change.
2021-01-27 15:17:25 -04:00
Jesse Smith be85cdabda Updated doas.conf manual page to reflect new way of calling
vidoas script.
2021-01-25 22:41:10 -04:00
Jesse Smith 3b3aef99a1 Fixed error where doas could try to run doas again. 2021-01-25 14:25:28 -04:00
Jesse Smith b69b314bc1 Merge branch 'master' of https://github.com/slicer69/doas 2021-01-25 14:14:21 -04:00
Jesse Smith 5ac8a3968a Updated vidoas to set ownership of doas.conf file to avoid
ownership changing on macOS.
2021-01-25 14:09:16 -04:00
Jesse Smith 4becfe1567 Updated READMe to fix typo 2020-12-07 12:35:30 -04:00
Jesse Smith 63cfc9f3c8 Updated install instructiosn for Arch and FreeBSD. Placed
these together above source install instructions.
2020-12-07 12:34:25 -04:00
Jesse Smith 1d5696c2db
Merge pull request #55 from scrouthtv/patch-1
Update README.md
2020-12-07 12:29:44 -04:00
scrouthtv 4b31fca816
Update README.md 2020-12-07 17:23:21 +01:00
scrouthtv 1382a91f77
Update README.md 2020-12-07 16:57:15 +01:00
scrouthtv d966e5a2fd
Update README.md
Added note to the AUR version
2020-12-07 10:17:49 +01:00
Jesse Smith dee40ceb0b Fixed missing "args" parameter in sample configuration file. 2020-11-25 16:56:22 -04:00
Jesse Smith fde6db11d4
Merge pull request #53 from b1rger/patch-1
Fix typo
2020-11-11 14:24:33 -04:00
Birger Schacht e30fafe6fd
Fix typo 2020-11-11 17:41:39 +00:00
Jesse Smith f82b712c16 Added syntax check for file passed to vidoas
script using -n flag.

Restored vidoas script to /usr/local/bin/ from /usr/local/sbin/
to insure it is in common user path.
2020-11-09 11:30:49 -04:00
Jesse Smith 8c19f6a4b3
Merge pull request #51 from suominen/vidoas
vidoas: Allow specifying file to edit. Add manual page and license.
2020-11-09 11:04:19 -04:00
Kimmo Suominen f807ff888d Account correctly for the -h option 2020-11-09 11:54:04 +02:00
Kimmo Suominen b4b963a130 vidoas: Allow specifying file to edit. Add manual page and license.
- Add functionality to edit a file specified on the command line.
- Add `-n` option for running prerequisite checks without editing the
  configuration file.
- Install vidoas in `@PREFIX@/sbin` as it is really more of a system
  maintenance command (run by administrators; requires root privileges
  for editing the default **doas(1)** configuation file).
- Add a manual page (in section `8`).
- Release the code under the same MIT-like license as **doas(1)**
  itself.
2020-11-09 11:43:46 +02:00
Jesse Smith a543abb656
Merge pull request #50 from suominen/vidoas
Avoid unnecessary doas.conf race
2020-11-08 19:17:33 -04:00
Kimmo Suominen 1872e46dea Avoid repeating the substitution recipe
- Define the recipe once, and list prerequisites for each target in
  separate rules.
- Also use cat(1) in the recipe in case there are multiple prerequisites
  for some target in the future.
2020-11-09 00:52:20 +02:00
Kimmo Suominen 2ab4f7df96 Add missing dependencies for install target 2020-11-09 00:23:11 +02:00
Kimmo Suominen 7648f25667 Install doas.conf safely. Define DOAS_CONF only once.
- Use mv(1) to install doas.conf to avoid writing a configuration file
  while other processes might be reading it.
- Define the DOAS_CONF path once in Makefile and pass that to the
  substitutions instead of recreating the full path independently in
  multiple files.
- Add a separate rule for building the doas binary, instead of creating
  it in the "all" target.  This avoids some unnecessary re-linking.
2020-11-09 00:12:50 +02:00
Jesse Smith e2a5c3f5f7 Added warning about implicit versus explicity rules in
the doas.conf manual page.
2020-11-07 17:04:16 -04:00
Jesse Smith eca76b6339 Minor update to vidoas script to avoid "-r" flag in stal
command which does not appear to be portable outside NetBSD.
2020-11-01 19:37:02 -04:00
Jesse Smith eb91299578
Merge pull request #46 from suominen/vidoas
vidoas: Address security concerns and improve some behaviour
2020-11-01 19:31:15 -04:00
Kimmo Suominen f2894542a6 vidoas: Address security concerns and improve some behaviour
I'm not claiming this script is now safe. It would certainly benefit
from additional review. I do think (and hope) that I did not make things
worse, at least.

It might be better to look at vipw(8) or visudo(8), which both are
written in C, for prior art on how to do this kind of thing securely.

Security changes:

- Exit on errors and if referencing unset variables.

- Set PATH so that we don't run unintended commands from the PATH that
  is in the caller's environment.

- Set umask to prevent other users from having write access to the
  temporary files.

- Use /var/tmp instead of /tmp, as /tmp is not shared between users on
  all systems. (So trying to install a file from /tmp as root would not
  find the file, if the user running vidoas is not root.)

  XXX: Using /var/tmp does not guarantee this either, but is more likely
  to work.

- Create a temporary file for editing and use ln(1) to acquire the lock.
  This addresses a race condition between checking for the lock file and
  creating it.

- Use "install -r" to avoid a truncated doas.conf from existing as would
  happen with cp (or install without the "-r" option).

  XXX: "install -r" is not portable.

- Use "install -m" to set the mode of the installed doas.conf file.

Changes to user experience:

- Don't check for executability of ${EDITOR} as it is not required to be
  an absolute path to the executable.

- Don't install an unchanged doas.conf file.

- Don't install an empty doas.conf file.

- The above two checks result in a no-op in the case that ${EDITOR}
  could not be run.

- Present the user with a choice of fixing errors or canceling changes.

- Output diagnostic messages to stderr (just like other tools do, e.g.
  doas, ln, and cp).

TODO:

- Avoid using hard-coded paths (/usr/local/bin and /usr/local/etc).
  They should be replaced with @PREFIX@/bin and @SYSCONFDIR@ before
  installing.
2020-10-22 11:23:56 +03:00
Jesse Smith 1bc08d470c
Merge pull request #45 from suominen/netbsd
doas: Use setusercontext(3) on NetBSD
2020-10-21 15:05:52 -03:00
Kimmo Suominen ca5d5ec8bb doas: Use setusercontext(3) on NetBSD
Calling setusercontext(3) makes per-user temporary storage work (see
per_user_tmp in security(7) and rc.conf(5)).

May as well also use reallocarray(3) from libc instead of the bundled
compat code.
2020-10-21 20:37:51 +03:00
Jesse Smith 6f6d40fa69
Merge pull request #43 from MikaelUrankar/patch-1
Update doas.conf.sample
2020-10-05 07:50:52 -03:00
MikaelUrankar 39184fa510
Update doas.conf.sample
typo fix
2020-10-05 09:36:35 +02:00
Jesse Smith 5f849e8f45
Update README.md 2020-08-23 21:23:37 -03:00