What are the permissions? Which user were you running startx as?
Make sure that file /usr/X11R6/bin/XFree86 says something about "setuid executable", too, and make sure that root owns it.
And the exact error would be a lot more helpful, too. Copy and paste it (or do a startx >log.txt 2>&1 to save it to the log.txt file).