Commit graph

46 commits

Author SHA1 Message Date
Liav A
1c5e09f789 Base: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
Liav A
a0ed543993 sysctl: Use /sys/kernel/variables/ directory instead of /proc/sys 2022-10-25 15:33:34 -06:00
Liav A
cb900006b9 Utilities/lspci: Don't unveil /res/pci.ids if not asked to resolve IDs
I tested the grub image under VirtualBox and it appeared that the image
didn't have pci.ids file included in the /res directory. In that case it
would be expected that lspci can still function correctly if the -n
parameter is passed, but then the unveil syscall failed because the file
didn't exist.

To cope with this, we should allow lspci to work without the pci.ids
file being present at the filesystem, so let's not unveil this file if
the -n parameter is passed.
2022-07-19 11:02:25 +01:00
Liav A
a660040806 Userland: Introduce the lsblk utility to show list of storage devices 2022-07-15 12:29:23 +02:00
Tim Schumacher
80705a72bd mount: Allow extending fstab via drop-in files in fstab.d 2022-07-08 12:42:23 +02:00
Liav A
a91da67216 Utilities/lspci: Iterate over /sys/bus/pci instead of reading /proc/pci
This opens many opportunities to add more data printed in lspci in a
flexible manner - so instead of reading an ever-expanding JSON encoded
file, we can add more features and let the utility read the directory
entries from sysfs.

This also allows not only filtering data on devices but to easily filter
non-wanted devices when printing the output.
2022-03-08 21:52:10 +01:00
Kyle Anthony Williams
3b61fbf15f Base: Clarify that TelnetServer must be run as root 2022-02-28 14:01:41 +01:00
Kyle Anthony Williams
a732d26a7b Base: Add gist to and modify description of usermod man page
This patch brings the man page usermod into line with its
siblings useradd and usermod.
2022-02-28 14:01:41 +01:00
Kyle Anthony Williams
0abdecf2b6 Base: Move EchoServer man page to section 8 2022-02-28 14:01:41 +01:00
Kyle Anthony Williams
0c33b494b8 Base: Combine TelnetServer man pages :^)
Two different man pages for TelnetServer could be found in sections
1 and 8 of Serenity's manual. This patch combines both and places
the page in section 8.
2022-02-28 14:01:41 +01:00
Kyle Anthony Williams
2266020bc0 Base: Add gists to man pages that lack one
Sources:
Eyes: https://www.x.org/releases/X11R7.6/doc/man/man1/xeyes.1.xhtml
wc: FreeBSD manual.
2022-02-28 14:01:41 +01:00
Kyle Anthony Williams
aae047e347 Base: Move WebServer man page to section 8 2022-02-28 14:01:41 +01:00
kleines Filmröllchen
98c0c5e9e6 Help+Base: Add help://man URLs for links between man pages
The URLs of the form `help://man/<section>/<page>` link to another help
page inside the help application. All previous relative page links are
replaced by this new form. This doesn't change any behavior but it looks
much nicer :^)

Note that man doesn't handle these new links, but the previous relative
links didn't work either.
2022-01-11 00:24:57 +01:00
mjz19910
10ec98dd38 Everywhere: Fix spelling mistakes 2022-01-07 15:44:42 +01:00
Ben Wiederhake
50a65f02a8 Manpages: Auto-generate many through ArgsParser
This set was hand-curated, guided by the questions:
- Does it have at least three options, i.e. is the help page
  non-trivial?
- Is the program unusual, i.e. does listing it in Help or on
  man.serenityos.org spread awareness?
- Is the program common, but we only implement a subset of 'common'
  flags?
2021-11-01 21:12:58 +01:00
SeekingBlues
638f39fbc1 sysctl: Allow showing or setting multiple variables
The `-w` option is enforced when setting variables.
2021-10-17 14:46:59 +02:00
David Isaksson
7269ce15fc Base: Add man page for blockdev utility 2021-10-09 12:06:47 +02:00
Liav A
04ba31b8c5 Kernel+Userland: Remove loadable kernel moduless
These interfaces are broken for about 9 months, maybe longer than that.
At this point, this is just a dead code nobody tests or tries to use, so
let's remove it instead of keeping a stale code just for the sake of
keeping it and hoping someone will fix it.

To better justify this, I read that OpenBSD removed loadable kernel
modules in 5.7 release (2014), mainly for the same reason we do -
nobody used it so they had no good reason to maintain it.
Still, OpenBSD had LKMs being effectively working, which is not the
current state in our project for a long time.
An arguably better approach to minimize the Kernel image size is to
allow dropping drivers and features while compiling a new image.
2021-09-11 19:05:00 +02:00
Andreas Kling
1b739a72c2 Kernel+Userland: Remove chroot functionality
We are not using this for anything and it's just been sitting there
gathering dust for well over a year, so let's stop carrying all this
complexity around for no good reason.
2021-08-15 12:44:35 +02:00
M4x1m3
39e622c400 Utilities: Add groupdel 2021-07-15 11:16:58 +02:00
M4x1m3
21cb531be1 Utilities: Add groupadd 2021-07-15 11:16:58 +02:00
Maciej Zygmanowski
57340dda36 Base: Add more manpages for command-line utilities 2021-07-03 09:08:25 +02:00
Gal Horowitz
c0e04768e0
Base: Change incorrect "See Also" links in module_load(2) and modunload(8) (#8006) 2021-06-12 23:08:29 +02:00
Andreas Kling
33f2eeea4a pls: Drastically simplify this program
Since this program is setuid-root, it should be as simple as possible.

To that end, remove `/etc/plsusers` and use filesystem permissions to
achieve the same thing. `/bin/pls` is now only executable by `root` or
members of the `wheel` group.

Also remove all the logic that went to great lengths to `unveil()` a
minimal set of filesystem paths that may be used for the command.
The complexity-to-benefit ratio did not seem justified, and I think
we're better off keeping this simple.

Finally, remove pledge promises the moment they are no longer needed.
2021-05-30 23:09:37 +02:00
Jesse Buhagiar
d44e2c9ad9 Userland: Check sudoers file perms and owner in pls
As per comment found in #6319 by @bcoles, `pls` should check the
permissions and owner of the sudoers file to ensure that it hasn't
been compromised.
2021-05-29 22:33:12 +04:30
Jesse Buhagiar
82b48d867d Userland: Implement pls, a sudo clone 2021-05-29 22:33:12 +04:30
Brendan Coles
69b98f7d32 Base: Add sysctl man page 2021-03-08 09:48:34 +01:00
Emanuele Torre
1f81bc6879 Everywhere: Remove unnecessary whitespace at the end of some lines. 2021-03-08 09:20:53 +01:00
Brendan Coles
39c92dad83 Userland: useradd: Add command line option to set user password 2020-12-21 09:57:26 +01:00
Brendan Coles
f8c980a06b Userland: chroot: Add --userspec/-u flag to set uid/gid for chroot 2020-11-14 17:14:30 +01:00
Linus Groh
bcfc6f0c57 Everywhere: Fix more typos 2020-10-03 12:36:49 +02:00
Sergey Bugaev
39cde80545 Base: Document MS_RDONLY
Also fix a couple of issues with the man pages.
2020-05-29 07:53:30 +02:00
Liav A
23fb985f02 Kernel & Userland: Allow to mount image files formatted with Ext2FS 2020-04-06 15:36:36 +02:00
Andreas Kling
9ae3cced76 Revert "Kernel & Userland: Allow to mount image files formatted with Ext2FS"
This reverts commit a60ea79a41.

Reverting these changes since they broke things.
Fixes #1608.
2020-04-03 21:28:57 +02:00
Liav A
a60ea79a41 Kernel & Userland: Allow to mount image files formatted with Ext2FS 2020-04-02 12:03:08 +02:00
howar6hill
7ff256aab6 Base: Add a man page for lspci 2020-02-20 15:13:42 +01:00
howar6hill
940de40f28
Userland: Add userdel program (#1217) 2020-02-19 12:59:09 +01:00
Jesse Buhagiar
f9609fe08a Userland: useradd utility
This commit implements the `useradd` utility that is found on most,
if not all *NIX systems. It allows the root user to add new users
to the password file found in `/etc/passwd`, thereby making
it easier to manipulate the file.
2020-02-02 10:58:45 +01:00
Sergey Bugaev
9513f54932 Base: Document new chroot abilities 2020-01-12 20:02:11 +01:00
Sergey Bugaev
b37bd28053 Base: Document mount(2) and mount(8) 2020-01-11 18:57:53 +01:00
Andreas Kling
3f9e4cd24e chroot: Add a little chroot program
This program changes the current filesystem root and spawns a shell.
2020-01-10 23:23:20 +01:00
Andreas Kling
7f843ef3b2 Kernel: Make the purge() syscall superuser-only
I don't think we need to give unprivileged users access to what is
essentially a kernel testing mechanism.
2020-01-02 13:39:49 +01:00
Andreas Kling
4fa7146da1 Base: Move the modload and modunload command documentation to man8
These are system administration commands, not intended for use by
all users. These tend to go in section 8.
2020-01-02 12:37:19 +01:00
Andreas Kling
e0ec4f89b2 Base: Add man page for purge(8) 2019-12-29 13:23:21 +01:00
Larkin Nickle
3fb88cb76d Help+man.md: Add man sections
Also correct minor formatting mistake in TelnetServer.md.
2019-09-30 21:38:39 +02:00
Larkin Nickle
e7c2467231 Add TelnetServer man page 2019-09-30 21:38:39 +02:00