The ls command was being called from /sbin/ls instead of /usr/bin/ls.
The variations in '/sbin' are intended to by used in single-user mode where '/usr' isn't mounted and thus binaries with dynamically linked libraries that live in '/usr' aren't available.
The variations in '/usr' use dynamically linked libraries and therefore afford a slightly smaller memory footprint (overall) when there are multiple instantiations.
The /opt permissions and ownership was mistakenly changed to a user.
To check where the ls command is returning from: whereis ls
To check your path: echo $PATH
1 - Add /usr/bin to beginning of the path before /sbin.
Please consult your operating system vendor on how to accomplish this.
1 - The /opt directory should be owned by root and have permissions of 755.