Order of the Butterfly
Posts: 408 from 2004/7/15
From: Russia, Moscow
During my work at rebuilding usergroup.library for MorphOS i was thinking about finding a better use for it than stupid emulation. The following comcept came to my mind, i'd like to discuss it here. This is just a concept and just a discussion, currently i have no time to work in this direction, but if there'll be someone who wishes to try to implement this idea i can open usergroup.library source code immediately (well, it's even not a part of network stack at all, just plain add-on, it is not used by the stack itself, only by inetd and ixemul.library) on Unmorphos CVS and give an access rights to use it as a starting point for the development.
The main idea is: we want to have some services, accessible from outside, may be even telnet or ssh accounts, and we want to protect our system. Full implementation of UNIX-alike access control is impossible under MorphOS because we can implement access control for files in the filesystem, but we can't implement it for IPC (signals, messages and ports), this renders the whole system useless because every user can ask another user's application to do something bad.
But there's a possibility to limit user's activity in the system using policy-based access control like in Windows NT (and derivatives). For example, we could have some set of rules for every user like:
- forbid/permit starting binaries from specified directory.
- forbid/permit using graphical applications (graphical application will always open intuition.library), useful for remote CLI accounts.
- forbid/permit reading/writind/deleting files in specified directory (can be implemented in the filesystem level or dos.library level - can be discussed)
- forbid/permin entering specified directory.
- etc
This would allow to create some trusted environment (unique home directory and set of harmless programs to run) for every user and lock the user within this environment so that it won't be able to go outside.
Anyone is welcome to say what he thinks about it.
iPod, iBook, iMac,... iRobot?