I have finally solved the problem but the mistery still remains
SOLUTION:
the problem is simply that in the bashrc file of the root user there
is a line which sets the variable BASH_ENV=~/.bashrc. The problem
is that in the bashrc file situated in the skel directory,which is the directory that contains standard files used when a new user is created, there isn't that line, so when switching to another user, the variable still remail BASH_ENV=/root/.bashrc, causing the error message ACCESS DENIED.
Now to solve the problem i have set the line BASH_ENV=~/.bashrc in the .bashrc file in the skel directory, so every new user will be created will have this line automatically added to their personal bashrc file, which will set the variable with their home directory
DOUBT STILL REMAINS:
However doubt still remains, why is there this variable? to maintain root user environment after logging with another user?
I don't know, but 2 things are sure
1) without this change, red hat cause an access denied error at runlevel 3
2) in reality the command "su" will execute user's .bashrc file and not the root one.
3) how is possible that runlevel 5 is able to hides this error while using gnome-terminal??
mhmmmm............