• 0 Posts
  • 27 Comments
Joined 1 year ago
cake
Cake day: June 4th, 2025

help-circle
  • To be clear, grub itself doesn’t mount your root partition. Grub provides the root partition device path or id to the kernel via kernel command line. Then kernel mounts the root partition early in its boot sequence with a limited set of options (typically read only).

    Logically, the root partition should be mountable without fstab because otherwise it would be a chicken and egg problem :)

    Usually once the userspace starts, an init script will remount the root partition with its normal options from fstab.

    (It’s a bit more complicated if initramfs is involved, but the principle is the same).






  • I think it depends a lot on what kind of application you’re thinking of. Here are some examples of tools that I particularly remember for having nice CLI interfaces, but they are all slightly different in terms of the number of operations/entities they support.

    Single operation, a lot of different types of data: httpie

    httpie is a CLI HTTP client. It allows to generate fairly complex requests, choose which diagnostic information you want to see, etc.

    Examples:

    $ https httpie.io/hello
    $ http PUT pie.dev/put X-API-Token:123 name=John
    $ http -v pie.dev/get
    

    Several operations, a lot of parameters: Bazel

    Bazel is a build system. There are only a handful of operations you typically perform (build, run, test, query), but they all follow the same pattern.

    Examples:

    $ bazel build //app
    $ bazel --quiet build //app -c opt
    $ bazel --quiet run //app -c opt -- --port=1234
    

    Multiple entites, multiple operations: LVM

    I really liked the interface of Linux Volume Manager tools. They consist of multiple commands that follow the same pattern, and use the same flags for options.

    Examples:

    # vgcreate -n vg_name
    # vgs
    # pvcreate /dev/sda
    # vgextend vg_name /dev/sda
    # lvcreate vg_name -n lv_name -L5G
    # lvresize vg_name/lv_name -L+1G
    # lvs
    













  • Yeah, you’re not wrong. What I meant was that polkit is conceptually equivalent to UAC (at least it is supposed to solve the same problem). However it’s not really a fair comparison, as “polkit on Linux” isn’t one concrete thing you can analyse, it’s more of a pile of Lego blocks, which you could assemble any which way. In theory, with Wayland you could build a secure polkit agent that would not allow the malware to interact with it.

    In reality this is a moot point, as most privilege elevation is still done via sudo anyway.