I've realized that the permissions for new files and directories behave a bit strangely. First of all, umask seems to return the right answer:
$ umask 0002
This means full access for my user and my group, no write access for the rest of the world, no suid. But if I create a file in my $HOME, this is how it looks:
$ ls -l testfile -rw-rw-rw- 1 robe robe 0 mar 16 12:58 testfile
i.e. , giving write access to everyone. The same happens with directories:
$ ls -ld testdir drwxrwxrwx 2 robe robe 6 mar 16 13:00 testdir
I think this is the same as having umask 0000, not 0002. I've searched all /etc for some instance of umask that changes the default 0002 or 0022, but found none. This is a default CentOS 5.5 install. Any hint of why is this happening?