In Slack 9.1(should work for other distros too) make sure these lines are in the mouse section of your XF86Config file(/etc/X11/XF86Config)
Option "Protocol" "ExplorerPS/2"
Option "ZAxisMapping" "6 7"
Option "Buttons" "7"
The "ExplorerPS/2" thing is for Intellimice, I don't know if it works for other mice.
It doesn't matter if your mouse is USB instead of PS/2, put it anyway.
Find your xinitrc file. ('locate xinitrc' at the command prompt)
In Slackware it's /etc/X11/xinit/xinitrc.
Edit it and add in this line without the outermost quotes: "xmodmap -e "pointer = 1 2 3 6 7 4 5""
Run xev in a console after restarting X to see if it worked properly. It should recognize all the different buttons now(where as before, it treated some of them as the same button).
Actually getting the buttons mapped is an entirely different matter, however. I don't know of a Linux browser that can use them. Although when I press them, and a bottom scroll bar is present in Mozilla, they actually move the bar back and forth, I don't know why though. So it seems they are mapped to something, I just don't know how to change them. I also don't know if that's a Mozilla thing, or if it works in all KDE(that's what I'm using right now) applications.
That reminds me, the above method may not work in Gnome, or so some have said.