Permissions:
When your phone boots up for the first time and apps are installed they create a corresponding data folder these folders are assigned a User ID. which the app apk becomes owner of. the ID is assigned in installation order.
Now if for some reason a data folder goes missing as in deleted or corrupted these UID's are regenerated but since they are not doing it in installation order the system instead assigns the ID in alphabetical order.. When this is done the data folders no longer match the application. So when the apk goes to look for its data it finds something that has nothing to do with it. BOOM force close city. We usually fix this by wiping data and letting the apk's reinstall thereby recreating its data folders and reassigning UID's .
when you fix permissions the system goes and corrects this alphabetical mismatch. And you are back to normal. Here is a visual representation of this
How a Malicious app with root access could theoretically use permissions:
A malicious app could in theory create a Group ID and be a Co-owner of a particular UID, therefore retrieving whatever is created in the original data folder. Here is a visual of what this would look like
Fixing Permissions:
Unfortunatly on both Red clockwork's cwm froyo and cwm ALL fix permissions option is broken.
In order to fix permissions you must do it through either ADB commands or from a terminal emulator.
Before being able to use either method to fix permisions you must flash THIS via clockwork (see post #5 flashing a zip)
All methods require superuser permissions (Root)
Fixing from terminal emulator
Download any free Terminal Emulator from the market
from the prompt($) type
$
su
(superuser app may ask to allow permission, hit allow. this will change $ to # then)
then type
#
fxpms
it should look similar to this
Fixing with ADB commands
If you dont know how to use adb you can follow this tutorial
http://forum.androidcentral.com/general-help-how/56697-how-quick-adb.html and get familiar with it.
I'm assuming if you are attempting to use adb that you know the basics.
Option 1) from command prompt
>
adb shell fxpms
Option 2)from command prompt
>
adb shell
#
fxpms