Is there an advantage of using doas over sudo

whyisthesheep@thelemmy.club to Linux@lemmy.ml – 102 points –

I see people talking about doas saying it's just like sudo but with less features. I'm just wondering if there is any situation where you should use doas or if it's just personal preference.

71

You are viewing a single comment

I just use doas because sudo has a bunch of features i don't care about or use, and doas does everything i need while being significantly smaller.

Does the size of a 6kb program really make that much of a difference?

Side note: If I'm reading this right (ignoring dependencies) sudo is 6kb while doas is 14kb.

Sudo is 6 megabytes

Damn, that's like 4 floppies!

The concern is not storage space, but potential bugs leading to security issues. For OpenBSD this is very important, and so they made doas.

I understand the concern - but it's not warranted. LOC is a bad predictor of security. And fwiw /usr/bin/sudo on my system is only 227K.

The OpenBSD team does fantastic work. I'm assuming doas will be a good tool and probably more secure that sudo generally. But "size" isn't the best way to determine that. It's not even a good way.

Tedu (author of doas) wrote about it in 2015:
"There were some concerns that sudo was too big, running too much code in a privileged process. And there was also pressure to enable even more options, because the feature set shipped in base wasn’t big enough. (As shipped in OpenBSD, the compiled sudo was already five times larger than just about any other setuid program.)"
https://flak.tedunangst.com/post/doas

6,054.0 kB, not 6 vs 14.0 kB

Ya know, I wish I could at least say something about being european and using commas instead of periods for decimal points, but I can't even say that. Still 6MB fully installed is nothing these days.

And here I am wondering what went so wrong with sudo that it needs 6 fucking mibibytes to work its simple magic.

Yeah, it's gonna take forever to download over my 14.4k baud modem.

STOP PICKING UP THE PHONE MOM!

Less lines of code needed means less chances of errors and potential vulnerabilities (if number and quality of eyeballs were the same)

Also only really applies if you are comparing programs in the same programming language as some programs have lines that are significantly more expressive than others. Conversely, some languages have constructs that are significantly more bug-prone than others (e.g. for loops with explicit integer indices instead of higher order functions like map or iterators to iterate over a collection).

No, but it's cleaner and designed for my usecase, and no real work to setup for me, all I had to do was add an alias