To view parent comment, click here.
To read all comments associated with this story, please click here.
I wish I was a kid ;-)
The "ask the admin" approach usually takes some time and gives the admins a bad reputation of being not very responsive.
If not in an environment where installing an application may compromise security and should be prohibited, there is a clear benefit in letting the user do basic administration tasks (installing stuff). Debian-style package management makes this possible because installing something is designed to be a zero hassle operation. However, the neat thing about being superuser to install stuff is that it keeps the applications clean and working. A similar approach should be used by not giving the user actual write rights in his app folder, but using a setuid mechanism so that only the package manager can do that.
If programs are organized as AppDirs, and they are not allowed to rely on being installed in a specific location in the file system hierarchy, this may be achieved simply by unzipping the app wherever you prefer. No need for installers at all.
The trick with Thom's attributes idea, is that you can still query installed applications even if no installer was used to put them there.
Unix security has a very simple way to do this. Just mount the home partition as noexec. There simply is no way you can stop the user from putting a binary in his home directory, but noexec makes sure that no user installed files can be executed.




Member since:
2006-02-15
Not all programs require root privileges. Then, why not allow users to do "apt-get install whatever" and it goes to their directory until the program is superseded by a system wide installation?
I have wondered about the same thing myself. But I guess it all boils down to the fact that people expect only two kinds of users to install software: system admins or users who own the computer. The truth is however that there are also people who don't have the root password but might still wish to install something additional. Such users could f.ex. be your children.
So yeah, I basically like your idea. All the files and folders should however go under a single folder in the users' home, like f.ex. /home/user/Applications and of course everything should be owned by the user and writable only by that user. Oh, and yes, the system admin should still be allowed to choose which users are allowed to install software this way. In corporate environments for example it's often preferred that users are not allowed to install anything but instead ask the admin for that.