Hacker News new | ask | show | jobs
by zeveb 3915 days ago
> I think desktop-style devices are going more in the direction of being personal.

For many people you're probably right. I do think that there's tremendous value in segmenting out one's various personæ. There's no particularly good reason why I should give a binary game blob access to the same user data that contains my financial data, passwords &c.

A finer-grained system would be nice, no doubt, but OS users are pretty time-tested.

> Maybe someone else here has already thought about it and can put it into writing?

Well, in principle capabilities systems can do a lot of this already. As myself, I can give a capability to a server, and it can use that capability to execute work on my behalf; once I've received the result, I can (presumably) revoke that capability. Capabilities can even be used to implement filesystems: my process might have a filesystem root capability, which permits it to see a single directory, which is itself a list of capabilities to directories and files, &c. Pretty neat stuff.

There's been some interesting work with capabilities done in EROS, its successor Coyotos & Tahoe-LAFS.

I skimmed your thesis—really interesting work!

2 comments

> A finer-grained system would be nice, no doubt, but OS users are pretty time-tested.

Mmmhmm. From what I understand, Android runs each Android application on the system as its own user and handles application permissions by making each permission its own group. Linux's user isolation is pretty good.

Other than lack of manpower and lack of interest, there's no reason why a Linux distro couldn't put in the medium-to-large amount of work it would take to make wrappers to do similar things for their most popular Linux applications. :)

Anyone who's ever nervously handed their kid their phone so the kid could play Angry Birds for a bit can tell you why Android's method of handling users isn't perfect.
That's why it's great that Android supports multiple users on a phone. Setting up a guest user is easy, and setting up a dedicated user is only slightly less so.
I'm not sure what software level protections can stop your phone from being dropped down the stairs.
Fair enough, but I was more referring to "changing my wallpaper and rearranging my widgets" kind of stuff.
You misunderstand. Android users are different from Linux users. :)

Android runs Android applications each as a different Linux user.

The folks at genode.org are also relying on capabilities for the system. Maybe they have some ideas on how to relate it to application/service programming, and more importantly, how to get from current reality to "good enough"?

I think the last two paragraphs of "Conclusions" are the most interesting part of the thesis.