Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
mystes
May 31, 2006

BlankSystemDaemon posted:

windows still doesn't have a true concept of limited user access, since every user is an administrator by default
No, this is a dumb thing to say

On most OS's the first account you create will have administrator access or ability to elevate to administrator access; that doesn't mean it "doesn't have a true concept of limited user access" considering that, you know, you can create non-administrator accounts

Adbot
ADBOT LOVES YOU

NihilCredo
Jun 6, 2011

iram omni possibili modo preme:
plus una illa te diffamabit, quam multæ virtutes commendabunt

Cybernetic Vermin posted:

uac is literally sudo made more fine-grained and ui-aware, what you mean is that new user accounts on windows are in sudoers by default, which is exactly how modern linux is also used.

BlankSystemDaemon posted:

welp, i didn't realize linux had fallen so low.

hi it's 2022 and there's typically multiple machines per user as opposed to viceversa, welcome to reality

if you're still administering a venerable mainframe to which bellbottom-wearing grad students login via terminal, you probably aren't the target for the default configuration of modern graphical desktop linuxorz

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
What Windows doesn't have is a way to delegate certain administrative functions (and only those) to normal user accounts, which is what polkit is trying to solve.

Shaggar
Apr 26, 2006

BlankSystemDaemon posted:

windows still doesn't have a true concept of limited user access, since every user is an administrator by default, and the equivalent of the root account (called SA, sometimes mislabeled as Super Administrator) is disabled by default

there is no such thing as root in windows because it was designed by intelligent people. The default Administrator is just another user in the built-in\administrators group and is not really special like root is. Administrator exists for legacy compatibility purposes and potentially for backup purposes in the even of other accounts losing access.

every user on non-domain computers is admin by default because its better practical security if the user only has to remember their own password and not an administrator password they setup 4 years ago when they installed the os. Users operate with reduced privileges so applications cannot make administrator level changes without a prompt.

for domain computers, users are user by default and administrator privileges must be granted by domain level accounts with permissions to manage domain computer accounts.

its a better system all around

Shaggar
Apr 26, 2006

Antigravitas posted:

What Windows doesn't have is a way to delegate certain administrative functions (and only those) to normal user accounts, which is what polkit is trying to solve.

it absolutely does through the system security policy. thats how the administrators group gets much of its privileges

Cybernetic Vermin
Apr 18, 2005

in important examples we have SeUndockPrivilege which lets a user remove a laptop from a dock without logging on. it remains extremely unclear what *not* having this permission would even mean.

Sapozhnik
Jan 2, 2005

Nap Ghost
in less tedious news some Collabora people are working on implementing comprehensive color management in Wayland and wrote up some docs about the concepts involved. i'm not a print and media person so i was only dimly aware of a lot of these things, it's an interesting read

https://gitlab.freedesktop.org/pq/color-and-hdr/-/blob/main/doc/pixels_color.md

NihilCredo
Jun 6, 2011

iram omni possibili modo preme:
plus una illa te diffamabit, quam multæ virtutes commendabunt

Cybernetic Vermin posted:

in important examples we have SeUndockPrivilege which lets a user remove a laptop from a dock without logging on. it remains extremely unclear what *not* having this permission would even mean.

less obviously absurd but what does it mean 'user can do $X without logging on'?

if they haven't logged on, how do you even know which user it is?

Cybernetic Vermin
Apr 18, 2005

NihilCredo posted:

less obviously absurd but what does it mean 'user can do $X without logging on'?

if they haven't logged on, how do you even know which user it is?

no idea, might mean doing something over network (i believe that is a distinction on windows, e.g. you may have permission to reboot a computer over the network without necessarily being able to log on to it). but it is very unclear since there is no obvious software interaction involved to start with.

need hackbunny back for this stuff really.

Kazinsal
Dec 13, 2011



NihilCredo posted:

less obviously absurd but what does it mean 'user can do $X without logging on'?

if they haven't logged on, how do you even know which user it is?

probably non-interactive vs. interactive logons

definitely doesn't make sense in the context of "physically remove hardware from machine"

zero knowledge
Apr 27, 2008

sb hermit posted:

So, it looks like there's a brand new vulnerability involving pkexec, a set-uid binary for polkit

And the write-up described how gobject was exploited to do this. And I thought ... wait ... what kind of idiot links a setuid program to glib? Well:

ldd /usr/bin/pkexec posted:

<snip>
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fa2801bd000)
<snip>

:ughh:

why on earth does your pkexec(1) link libresolv? Why would it need to do DNS lookups? The pkexec(1) in the Fedora install I have handy doesn't

sb hermit
Dec 13, 2016





Spazmo posted:

why on earth does your pkexec(1) link libresolv? Why would it need to do DNS lookups? The pkexec(1) in the Fedora install I have handy doesn't

it's fhe ubuntu 20.04 pkexec

BlankSystemDaemon
Mar 13, 2009



why is pkexec in section 1 of the manual pages? it should be in section 8.

FlapYoJacks
Feb 12, 2009
Polkit requires glib because it requires spider monkey which is Firefox’s json engine. It’s awful and they are just barely ready to merge duktape support to get rid of that terrible requirement. Buildroot had been using polkit with the duktape patches for almost a year now without issues. Saving over 20M on the filing system.

Tankakern
Jul 25, 2007

(non-ironically) good to know, wondered what plan they had after spidermonkey

FlapYoJacks
Feb 12, 2009
Holy poo poo. Duktape is officially merged as of yesterday! 2 years in the making and dragging the devs kicking and screaming.

https://gitlab.freedesktop.org/polkit/polkit/-/merge_requests/97

Tankakern
Jul 25, 2007

cool

sb hermit
Dec 13, 2016





Sapozhnik
Jan 2, 2005

Nap Ghost
never heard of DukTape before, why not use that Bellard thing, QuickJS? seems similar except QuickJS supports such esoteric JavaScript features as class definitions and block-scoped variables

DukTape's site even links to QuickJS in its Alternatives section and they share the same license

BlankSystemDaemon
Mar 13, 2009



Why have javascript at all?

pseudorandom name
May 6, 2007

the original version had a purely declarative policy language and that ~ ~ ~ wAsN't FLeXibLE ENouGH ~ ~ ~ so version two replaced that with a JS interpreter so you can make your policies as confusing as possible

BlankSystemDaemon
Mar 13, 2009



pseudorandom name posted:

the original version had a purely declarative policy language and that ~ ~ ~ wAsN't FLeXibLE ENouGH ~ ~ ~ so version two replaced that with a JS interpreter so you can make your policies as confusing as possible
oh, of course that makes perfect sense to linux developers
orz

mystes
May 31, 2006

That seems like the sort of thing where you would traditionally just use lua or something, or I don't know, maybe eBPF if you want to cram it into the kernel to be fancy and obnoxious

pseudorandom name
May 6, 2007

also pkexec doesn't have the interpreter, it asks polkitd via dbus if the action is allowed and polkitd does the javascript evaluation

BlankSystemDaemon
Mar 13, 2009



mystes posted:

That seems like the sort of thing where you would traditionally just use lua or something, or I don't know, maybe eBPF if you want to cram it into the kernel to be fancy and obnoxious
eBPF itself is very much a linuxdev.txt thing

BPF is a JIT packet filter to machine code compiler made into a compact virtual machine - why is it being used for system tracing, declarative policies, and the like?

NihilCredo
Jun 6, 2011

iram omni possibili modo preme:
plus una illa te diffamabit, quam multæ virtutes commendabunt

mystes posted:

That seems like the sort of thing where you would traditionally just use lua or something, or I don't know, maybe eBPF if you want to cram it into the kernel to be fancy and obnoxious

do system security policies seriously need to be turing complete like what the gently caress

pseudorandom name
May 6, 2007

because it was stupid for Sun to create a second kernel-level bytecode virtual machine for DTrace when they already had one for BPF

Sapozhnik
Jan 2, 2005

Nap Ghost

NihilCredo posted:

do system security policies seriously need to be turing complete like what the gently caress

large enterprises and government departments are where RH gets its money from so yeah those guys are going to have insane and convoluted policies for their insane and convoluted centrally-administered computing resources

mystes
May 31, 2006

NihilCredo posted:

do system security policies seriously need to be turing complete like what the gently caress
I'm not sure if you're saying it shouldn't be a programming language at all or you're suggesting dhall here

Cybernetic Vermin
Apr 18, 2005

ebpf everything is the future.

BlankSystemDaemon
Mar 13, 2009



pseudorandom name posted:

because it was stupid for Sun to create a second kernel-level bytecode virtual machine for DTrace when they already had one for BPF
DIF is bytecode that's used for instrumenting existing tracepoints, which are included in the code either by explicit use of macros or automatically generated by the build system.
BPF generates bytecode capable of dealing with network packets (and traces its history back to Enet at CMU in 1980).
both are virtual machines, ie. a program that itself acts like a computer.

i'm not sure how the two can be confused, but i applaud you for managing it

BlankSystemDaemon fucked around with this message at 21:02 on Jan 26, 2022

Cybernetic Vermin
Apr 18, 2005

BlankSystemDaemon posted:

DIF is bytecode that's used for instrumenting existing tracepoints, which are included in the code either by explicit use of macros or automatically generated by the build system.
BPF generates bytecode capable of dealing with network packets (and traces its history back to Enet at CMU in 1980).
both are virtual machines, ie. a program that itself acts like a computer.

i'm not sure how the two can be confused, but i applaud you for managing it

the point is, i would guess, that linux opted to instead extend bpf into ebpf, which serves not only both those purposes, but a ton of others.

otoh the compiler and verifier are non-trivial, so not like it was an obvious development.

NihilCredo
Jun 6, 2011

iram omni possibili modo preme:
plus una illa te diffamabit, quam multæ virtutes commendabunt

mystes posted:

I'm not sure if you're saying it shouldn't be a programming language at all or you're suggesting dhall here

dhall would be my #1 choice for "I need to let the user define some really complicated data structures in a safe way with as little pain as possible" but I don't know if it was around when this thing was designed

but even templated yaml or regex substitutions or whatever awful poo poo was lying around on the floor should not have raised as many instinctual red flags as running eval("userinput.js") in a Very Important Enterprise IBM Mission Critical Security Project

pseudorandom name
May 6, 2007

keep in mind that polkit rules are approximately as complex as proxy-auto config and are never from untrusted sources

my homie dhall
Dec 9, 2010

honey, oh please, it's just a machine

Cybernetic Vermin posted:

ebpf everything is the future.

I can see the appeal, but I really don't understand how you're supposed to debug when things go wrong with your bytecode programs other than very carefully.

For tracing and profiling it's a godsend of course, but xdp and such seems nuts to me

Nomnom Cookie
Aug 30, 2009



my homie dhall posted:

I can see the appeal, but I really don't understand how you're supposed to debug when things go wrong with your bytecode programs other than very carefully.

For tracing and profiling it's a godsend of course, but xdp and such seems nuts to me

trace your ebpf programs using other ebpf programs

Sapozhnik
Jan 2, 2005

Nap Ghost
https://www.collabora.com/news-and-blog/blog/2022/01/27/writing-an-open-source-gpu-driver-without-the-hardware/

the mesa crew are getting really good at this

outhole surfer
Mar 18, 2003


the panfrost project is just insane. it's largely the product of someone who got involved as a high school student

Buck Turgidson
Feb 6, 2011

𓀬𓀠𓀟𓀡𓀢𓀣𓀤𓀥𓀞𓀬
arch linux has to be a troll right? you install this thing and half the packages are in the aur, so then you need to install what's essentially another package manager, then it's a diceroll as to whether the packages fail to build or break in a day or two, and you have to waste time troubleshooting

like if you're going to install a second package manager you might as well use debian and install nix/guix, which probably won't break horribly, and can be rolled back instantly if they do.

what maniac actually uses this shiiit?

Adbot
ADBOT LOVES YOU

Insanite
Aug 30, 2005

Buck Turgidson posted:

arch linux has to be a troll right? you install this thing and half the packages are in the aur, so then you need to install what's essentially another package manager, then it's a diceroll as to whether the packages fail to build or break in a day or two, and you have to waste time troubleshooting

like if you're going to install a second package manager you might as well use debian and install nix/guix, which probably won't break horribly, and can be rolled back instantly if they do.

what maniac actually uses this shiiit?

people who have made janitoring their personal computers a core component of their personality, op

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply