![](https://programming.dev/pictrs/image/c8e60fd3-7981-43ca-8b7f-ff504e91dd5a.png)
![](https://beehaw.org/pictrs/image/1be75b15-2f18-429d-acf7-dcea8e512a4b.png)
I’m on the Neovim train and I’m not getting off at this junction.
But more high quality choices is a good thing.
Data Science
I’m on the Neovim train and I’m not getting off at this junction.
But more high quality choices is a good thing.
How would that provide additional security in the particular circumstance of someone having access to the Signal encryption keys on someone’s phone?
A secure enclave can already be accessed by the time someone can access the Signal encryption keys , so there’s no extra security in putting the encryption keys in the secure enclave.
FYI Submitting an image in the Lemmy “create post” submittion form overrides the URL feild. I’m not sure if anyone submitted a bug about this.
I like Ladybird more than any of those alternatives.
Consider using https://www.fossil-scm.org/
Although I understand if you don’t wish to stop using git.
Building from source is the opposite of hacky. It’s the recommended way to deal with things like this where you are concerned about trust and security. I understand that it’s not something you’ve done before, but it not as complicated as it sounds. There are many tutorials on how to build programs from source.
I understand that providing official packages for fedora/rhel, Ubuntu/debian, and arch-based distro packages along with a flatpack and Appimage would make a lot of sense, but for whatever reason, signal has decided not to. Perhaps you can message the signal team to ask why they choose not to do this.
I’ve been making reference to the much discussed “replication crisis” in academia. They are factious comments meant to be jovial, entertaining, and thought provoking.
Apparently most of them.
I like the ethos behind Purism, I was worried they wouldn’t be profitable at all. I hope this is enough profitablity to attract greater investment to grow and create economies of scale and lower the retail price and reduce lead times to be in line with the rest of the market.
Reproducing a recipe is something scientists struggle with, so it must be impressive when you succeed 😉
Mp3 is a proprietary format on copyright. Some idiot ceo can came and change the rules, let’s add an ads mandatory for each decoder.
This is not true. Copyright is not relevant to an encoding standard. The standard has been unchanged for 26 years and all legal claims of patent rights related to implimentations of the standard have expired before May 2017.
@swooosh@lemmy.world you should probably know about this as well.
There are many Discourse forums for various programming related tools, services, and programming languages. I’ve shared 3 examples below.
Every job has parts that you don’t like. You need to learn the skills that you get paid to use or find someone to pay you for the skills you have.
Linux is as frustrating to someone that has built up a skill set with Windows centric knowledge base.
You can use this as an opportunity to have a conversation about what it is about those movies that she likes. This could open up to a larger conversation where you can connect and grow your relationship as mother and child. Or she might just say something vague and simple and you can ignore the movies while they sit in a separate library.
It’s strange to me people refer to the awk
command rather than the AWK language.
That doesn’t seem to clear up anything other than indicating that the fork was motivated by wanting to do things differently for the sake of being able to do things differently.
Which is fine, I do this often enough. But I don’t expect to get a lot of others to follow suit on that basis alone.
It seems Poettering is convinced doas
, while decreasing attack surface, depends on SUID binary implementation which is a concern in its own right. Poettering is trying to eliminate that dependency in his `run0’ implementation to reduce the attack surface even further.
The relevant excerpt from the long chain of posts from Poettering’s mastodon.social account is copied below:
… led various people to revisit the problem and come up with alternatives: most prominently there’s probably OpenBSD’s sudo replacement called “doas”. While it greatly simplifies the tool and removes much of the attack surface, it doesn’t change one key thing: it’s still a SUID binary.
I personally think that the biggest problem with sudo is the fact it’s a SUID binary though – the big attack surface, the plugins, network access and so on that come after it it just make the key problem… … worse, but are not in themselves the main issue with sudo.
SUID processes are weird concepts: they are invoked by unprivileged code and inherit the execution context intended for and controlled by unprivileged code. By execution context I mean the myriad of properties that a process has on Linux these days, from environment variables, process scheduling properties, cgroup assignments, security contexts, file descriptors passed, and so on and so on. A few of these settings the kernel is nice…
… enough to clean up automatically when a SUID binary is invoked, but much of it has to be cleaned up by the invoked suid binary. This has to be done very very carefully, and history has shown that SUID binaries are generally pretty shit at that.
So, in my ideal world, we’d have an OS entirely without SUID. Let’s throw out the concept of SUID on the dump of UNIX’ bad ideas. An execution context for privileged code that is half under the control of unprivileged code and that needs careful, … … manual clean-up is just not how security engineering should be done in 2024 anymore.
With systemd v256 we are going one step towards this. There’s a new tool in systemd, called “run0”. Or actually, it’s not a new tool, it’s actually the long existing tool “systemd-run”, but when invoked under the “run0” name (via a symlink) it behaves a lot like a sudo clone. But with one key difference: it’s not in fact SUID. Instead it just asks the service manager to invoke a command or shell under…
… the target user’s UID. It allocates a new PTY for that, and then shovels data back and forth from the originating TTY and this PTY.
Or in other words: the target command is invoked in an isolated exec context, freshly forked off PID 1, without inheriting any context from the client (well, admittedly, we do propagate $TERM, but that’s an explicit exception, i.e. allowlist rather than denylist).
One could say, “run0” is closer to behaviour of “ssh” than to “sudo”, in many ways. Except that…
it doesn’t bother with encryption or cryptographic authentication, key management and stuff, but instead relies on the kernel’s local identification mechanisms.
run0 doesn’t implement a configuration language of its own btw (i.e. no equivalent of /etc/sudoers). Instead, it just uses polkit for that, i.e. how we these days usually let unpriv local clients be authorized by priv servers.
By isolating the contexts and the resources of client and target we remove some other classes of attacks…
… entirely, for example this stuff:
https://ruderich.org/simon/notes/su-sudo-from-root-tty-hijacking
But enough about all that security blabla. The tool is also a lot more fun to use than sudo.
Read the rest where he explains run0
’s use and functionality beyond the design logic.
Why do you say that? It seems that Poettering’s reasoning for avoiding SUID binaries is sound.
A couple of months ago I wrote up some instructions for someone that was trying to make the switch to neovim. They reported back that it was helpful.
Check it out:
https://lemmyverse.link/programming.dev/comment/9552694