• 0 Posts
  • 26 Comments
Joined 10 months ago
cake
Cake day: June 4th, 2025

help-circle

  • 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.



  • I think the basic premise of this question, that Windows and Linux somehow have a different foundational security model that is or isn’t based on passwords, is not really true. Passwords play more or less the same role for any modern operating system – be it Linux, MacOS, Android, iOS, etc.

    The only major difference is that instead of UAC, Linux has a variety of options (sudo, policykit, run0), which are implemented differently across different distributions. If your privileged user doesn’t have a password, in some cases this could lead to any program being able to elevate their privilege quietly, unlike UAC.

    However, in many distributions you can set up a user with a password and enable passwordless local login, which would be almost equivalent to windows with no password.

    Answering your question directly, the major threat to most consumer users is physical compromise or theft of device. Your statement that “physical access is game over” is not entirely accurate: disk encryption with a password is a very strong protection against unauthorized data access, but you need to use a password (doesn’t matter if it’s Linux or Windows).