Originally posted by: spyordie007
Vista is going to be pretty much the same way. Just another dialog for them to click on through.
Which are completely worthless, generally.
Even very experianced computer-savy people end up 'just clicking through'.
For instance if you like to download mp3s from random websites and play them on some sort of music player.. and every time you download a mp3 from a http website and the system pops up a warning, then when you download a executable or virus disquised as a mp3 in the link or whatnot by mistake and the system tries to warn you.. you'll just ignore the warning. You'll just assume that it is the same old warning automaticly. Even if it's a different shape, different color and such, muscle memory will just be expecting that little ok sign every time you want to do something.
It's very hard to avoid doing that. Sudo is dead close on doing this for most people. It's getting close to the point were if you double click on some installer or whatnot and it pops up 'you don't have the rights', instead of figuring out what is going on most people are just going to feed it their password.
Now if dialogs are excedingly rare, they'll work. Because they'll pop up and confuse the user and they'd have to sit and actually read what it is going on.
For instance a good one dialog that I think is good is nautilus's dialogs. At least currently.
For instance if you have a file named filename.jpg, but it's a bash script in reality then the 'mime' detection stuff will fail and it'll pop up with a warning: "This file has a extension that indicates it's a jpeg, but it appears to be a script blah blah blah' or something similar. Then it has a 'ok' style button. But when you click ok it just makes the dialog go away. If you try double clicking on it again then you get the same message. To open a file you have to right click it and select from a list of applications/actions. The list your provided includes appropriate actions for both jpegs and bash script.
So since it's pretty rare for nautilus to get confused on file types.. it either knows it or it doesn't.. then it's pretty effective, I beleive. As a end user you have to stop and think about what you realy want to do with the file and then explicitly tell the computer what to do with it.
-----
One thing that I do like with XP SP2 and Vista is the security context stuff. The Zone stuff, I think? It's a good idea. You download stuff off of the web, then the file has a sort of restricted status. Linux needs something like that.
SELinux can technically provide this, but it's complex and the developers are being very smart and very dumb at the same time with it.
Novell AppArmor can get something close to it, but it's only going to be usefull against protecting against exploits in certain programs due to it using pathnames in it's rules. It's not usefull on giving these sort of security contexts to files.
For instance, using Apparmor, you could restrict Firefox to only be able to write files out in it's temp directory, configuration directory, or the download directory. So even if somebody injected malicious code into firefox then a attacker still couldn't use it to isntall a virus into some other program or steal your evolution password file or something like that. The application would be contained and the incedent would get recorded in the logs.
So that's nice.
The downside, since it relies on pathnames, is that if you restricted firefox to only write out to downloads then that is very incovient to end users. If they tried to do a 'save as' to a webpage or whatnot and they tried to save it to a different directory... then it would crap out. You could give write access to the entire home directory, instead of just the downloads directory, but then that ends up weakening the protections.
Also if you want to assign some sort of security context to certain files.. then providing a symbolic link, moving the file, or mount --bind, a directory to a different location then effectively your changing the permissions of that file. Looking at it in DAC terms, if you can make a file executable, or grant write permissiosn simply by copying to a different location, then that's not cool at all.
SELinux, since it doesn't rely on path statements and actually assigns permission to the file's metadata itself (that follow the file and don't change based on paths) then you can do the XPSP2 or Vista style Zones. Trouble is is that SELinux is very hard to use and it's going to take a long time for it to mature to the point were it's usefull for most people. Apparmor is easy to use and right now a typical administrator can use it to lock down applications in just a handfull of minutes.
So the Security Zones/security context stuff is something that is kinda neat. Although I don't know how strong it is... there are a nasty little class of exploits for SP2 that are designed to work around these zones.