Suppose there are many users in a Linux cluster, each of them has his own HOME directory under /home/xxx, with xxx being his user name (or account). If the initial system configuration allows these users to visit any of these home directories besides their own, is there any way for a user to know who visited his home folder? Such external access from the other users may not result in any change to the local files, for example, viewing or copying a file. Is there any log file or tool that can actually monitor these activities?
Use Linux auditing subsystem - see
man auditd or for example this introduction.
If you don't want your files copied, disable group/other read/execute access to your $HOME:
chmod go-rwx $HOME. If you have some files you'd want to keep private, place them into a directory without group/other access. Being able to tell somebody broke in and stole stuff after the fact is rather less useful...