I have gone through a related thread here.A colleague of mine has copied the phantomjs binary to /usr/bin. In our system, this binary will be used only by a non-root user. At the moment, the regular user is able to run this binary fine, but going to the thread posted in this question, it does not like a right thing to put a binary used by a non-root user under /usr/bin. So is there any reason for me to move it from /usr/bin to /usr/local/bin or is it better to leave it at /usr/bin? In other words, would it make any difference to a binary if it is put under /usr/bin or /usr/local/bin or it is a 'rule' that is generally followed?[root@seco01 ~]# which phantomjs/usr/bin/phantomjs[root@seco01 ~]#P.S: /usr/local/bin is included in the $PATH.
Should I move a binary used by a non-root user from /usr/bin/ to /usr/local/bin/?
rhel;directory structure
The Filesystem Hierarchy Standard says, per/usr/local : Local hierarchy, that The /usr/local hierarchy is for use by the system administrator when  installing software locally. It needs to be safe from being  overwritten when the system software is updated. It may be used for  programs and data that are shareable amongst a group of hosts, but not  found in /usr.Locally installed software must be placed within /usr/local rather  than /usr unless it is being installed to replace or upgrade software  in /usr.As a general rule of thumb, in modern Linux distributions, software that is managed by the distributions package manager uses /usr/bin etc., while /usr/local/bin is used by local installations of software that is not managed by the package manager. The typical case here is software that is installed via make, make install. Static stand-alone binaries also fall into that category. Another possibility is /opt. The division between /opt and /usr/local is not clear, but /usr/local is more customary for local installations. Here is what the FHS says about /opt:/opt : Add-on application software packages.