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.
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.
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.
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).
Sure, I was just speaking in general.
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