6

On Ubuntu 13.10, when I open a new terminal, I sometimes get the following output on the terminal:

bash: /etc/bash.bashrc: Permission denied

However, the permissions should be fine:

>ls -l /etc/bash.bashrc
-rwxr-xr-x 1 root root 2177 Mär 30  2013 /etc/bash.bashrc*

What is the problem? How can I fix it? What is the purpose of the file /etc/bash.bashrc and where exactly does it gets called?

Content of this file:

# System-wide .bashrc file for interactive bash(1) shells.

# To enable the settings / commands in this file for login shells as well,
# this file has to be sourced in /etc/profile.

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, overwrite the one in /etc/profile)
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

# Commented out, don't overwrite xterm -T "title" -n "icontitle" by default.
# If this is an xterm set the title to user@host:dir
#case "$TERM" in
#xterm*|rxvt*)
#    PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
#    ;;
#*)
#    ;;
#esac

# enable bash completion in interactive shells
#if ! shopt -oq posix; then
#  if [ -f /usr/share/bash-completion/bash_completion ]; then
#    . /usr/share/bash-completion/bash_completion
#  elif [ -f /etc/bash_completion ]; then
#    . /etc/bash_completion
#  fi
#fi

# sudo hint
if [ ! -e "$HOME/.sudo_as_admin_successful" ] && [ ! -e "$HOME/.hushlogin" ] ; then
    case " $(groups) " in *\ admin\ *)
    if [ -x /usr/bin/sudo ]; then
    cat <<-EOF
    To run a command as administrator (user "root"), use "sudo <command>".
    See "man sudo_root" for details.

    EOF
    fi
    esac
fi

# if the command-not-found package is installed, use it
if [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found/command-not-found ]; then
    function command_not_found_handle {
            # check because c-n-f could've been removed in the meantime
                if [ -x /usr/lib/command-not-found ]; then
           /usr/lib/command-not-found -- "$1"
                   return $?
                elif [ -x /usr/share/command-not-found/command-not-found ]; then
           /usr/share/command-not-found/command-not-found -- "$1"
                   return $?
        else
           printf "%s: command not found\n" "$1" >&2
           return 127
        fi
    }
fi
  • What is the contents of your /etc/bash.bashrc. – glenn jackman Sep 10 '14 at 19:26
  • I added the content- Not sure, where it comes from or why I get this error only recently. – Alex Sep 10 '14 at 19:29
  • I looked in to my permission and a couple of other machines an I see this -rw-r--r-- 1 root root 8871 jul 11 04:52 /etc/bash.bashrc – maniat1k Sep 10 '14 at 19:38
  • These permissions were my original ones as well. But because of the error I changed them as listed in the question, without success. – Alex Sep 10 '14 at 19:44
  • 2
    What are the permissions of the /etc directory ? – Mark Plotnick Sep 10 '14 at 20:55
4

Try: chmod 0755 /etc as root. You could have run into an issue with the /etc directory's permissions being wrong. Also revert the permissions of the bash.bashrc file to their original permissions chmod 644 /etc/bash.bashrc.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.