在 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
作为 root。您可能会遇到 /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
错误也消失了。