bash: /etc/bash.bashrc: 터미널을 열 때마다 권한이 거부됩니다.

bash: /etc/bash.bashrc: 터미널을 열 때마다 권한이 거부됩니다.

Ubuntu 13.10에서 새 터미널을 열면 터미널에 다음과 같은 출력이 나타나는 경우가 있습니다.

bash: /etc/bash.bashrc: Permission denied

그러나 권한은 괜찮습니다.

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

문제가 무엇입니까? 어떻게 해결할 수 있나요? 이 파일의 목적은 무엇입니까 /etc/bash.bashrc? 정확히 어디에서 불려지나요?

이 파일의 내용:

# 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

답변1

시도: chmod 0755 /etc루트로. /etc 디렉터리에 대한 잘못된 권한 문제가 발생할 수 있습니다. 또한 bash.bashrc 파일의 권한을 원래 권한으로 복원합니다 chmod 644 /etc/bash.bashrc.

답변2

Samba AD 사용자에게 이런 일이 발생하여 삭제하고 동일한 사용자 정보로 다시 생성했습니다. AD 콘솔에서. 홈 디렉토리만 영향을 받을 수 있다고 가정하고 홈 디렉토리의 이름만 바꾸고 mv /home/domain/user /home/domain/user.ex사용자를 다시 로그인한 다음 이름이 바뀐 홈 디렉토리에서 전체 항목을 새 홈 디렉토리로 다시 옮겼습니다. mv /home/domain/user.ex/* home/domain/user그래서 홈 디렉토리가 재고로 복원되었고 abrt-cli status' timed out오류가 사라졌습니다.

관련 정보