I have been through this thread and tried everything but I have the same issue as the previous gentlemen.
I have HTC Desire Z with CM 7.0.3.
When I boot the phone normally and "adb shell", I can get a root prompt (id command shows root user, "cd" shows "/"). But ANY command I run brings permission denied (even ls, chmod and pwd). I literally can't do anything. Same whether I boot with/without S D card. I CAN however issue commands such as "adb pull /init.rc" if I exit and go back to DOS.
However if I boot into clockworkmod recovery and mount /data and /system, and then open an adb shell via USB, I can connect as root and browse everything, everything is fine and all commands work OK. /etc/fstab shows all partitions would be mounted as rw.
So it looks like some application during boot, is resetting the permission for /system to be ro, and also removing root's privileges.
Please could you let us know if there is a method to determine what app is doing this during boot. I cannot see anywhere in init.rc where I can catch this application that is doing this and prevent it from making /system inaccessible after boot.
Preferably if someone could point me to the complete log of the boot process that shows each command that is run, I might have a clue as to where in the boot up process, the /system partition suddenly becomes ro and root loses all permissions.
I suspect the other users in the forum may have a similar problem.
I have attached a copy of my init.rc that was adb pulled after full boot.