How this colorization gets setup in openSUSE is that that the ls command is aliased to "ls --color=auto". You can see this aliasing using the alias command.
[fred@example ~]# aliasSo a simple way to turn this off is: unlias ls
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
There you go - no more annoying colors! But they will be back the next time you login. Is this alias created in ~/.bashrc - nope. ~/.bash_profile - nope. /etc/bashrc - nope. /etc/profile - nope, errr.... well, sort of. The script /etc/profile runs every script in /etc/profile.d which ends in .sh. Within /etc/profile.d is ...drumroll... colorls.sh which indeed does alias ls='ls --color=auto'.
To disable colorization - the aliasing of ls upon login:
mv /etc/profile.d/colorls.sh /etc/profile.d/colorls.sh.xNow that the script does not end in .sh /etc/profile will not run it.
When you start a new interactive login[*1] shell bash runs: /etc/profile, then ~/.bash_profile, ~/.bash_login, and then ~/.profile. Generally ~/.bash_profile will run ~/.bashrc, and generally ~/.bashrc will run /etc/bashrc. And, of course, when /etc/profile runs it runs each of the scripts which match /etc/profile.d/*.sh. It is almost comical; who says UNIX can't dance?
[*1] The shell distinguishes between login and secondary shells - a secondary shell is invoked by an existing shell, whereas a login shell is the first shell. It also distinguishes between interactive and non-interactive shells - like those running a script.