SELinux

SELinux (read as S.E.Linux)

The main purpose of using SELinux is to protect the system from “unpredictable” security breaches.
It provides a kernel-level security protection based on a white-list policy and can protect from things like application bugs and application misconfigurations.
(Buggy/misconfigured FTP/HTTP/other daemons may give the users more privileges than they should)

When troubleshooting SELinux related permission issues, “ls -Z” is the command to view the “label”, which defines the access privileges.

When “which” command and the actual executable being executed do not match

Problem:

[root@clnt2 bin]# python -V
Python 2.6.6
[root@clnt2 bin]# which python
/usr/local/bin/python
[root@clnt2 bin]# /usr/local/bin/python -V
Python 2.7.3

[root@clnt2 local]# hash -r
[root@clnt2 local]# python -V
Python 2.7.3

http://unix.stackexchange.com/questions/47363/my-which-command-may-be-wrong-sometimes