OS X, being a BSD-derived Unix, has file permissions which supersede the Unix file permissions you may be familiar with. These are called flags and only apply to files. They can be applied by using
chflags <flag> file and removed with
chflags no<flag> file (e.g.
chflags uchg file makes
file immutable). Do
man chflags for a list of flags. To see what flags are on a file do
ls -lO for example,
ls -lO $HOME | grep Library will probably have the "hidden" flag set.