When at command prompt do you type "su" or "su -" (without the quotes)? If just su, then try:
I would suggest checking that your user account has permission to "su" but you've already stated that you can su to root, but can't do root stuff. This is really bizarre. Are you doing this in a terminal console in X or in just plain command line terminal? Try getting out of X and logging in as your user then "su -" and see what happens. If it works without X, it might be your Xterm (or whatever console you're using) that has problems.
Additionally, when you su - to root, you no longer stay in the directory that your user account was in--you go to the root's home directory. If, as granny, you're in /home/granny, your prompt should look similar to:
Then, you do su, or su - you'll get:
For the sake of example I'll say you're using the vi text editor. Now you want to edit a file that is located in /home/granny and you just type:
[root@hostname]~# vi somefile
You'll get a new file generated as it doesn't exist there. You'll have to add the path to the file as follows:
[root@hostname]~# vi /home/granny/somefile
If you want to stay in the same directory as your user before the switch to root type:
The only reason I'm suggesting this is because I've made this mistake more than a few times when installing software from source. Hope this helps.