Unter Ubuntu 13.10 wird beim Öffnen eines neuen Terminals manchmal Folgendes angezeigt Ausgabe auf dem Terminal:
bash: /etc/bash.bashrc: Permission denied
Die Berechtigungen sollten jedoch in Ordnung sein:
>ls -l /etc/bash.bashrc -rwxr-xr-x 1 root root 2177 Mär 30 2013 /etc/bash.bashrc*
Was ist das Problem? Wie kann ich es reparieren? Was ist der Zweck der Datei /etc/bash.bashrc
und wo genau wird sie aufgerufen?
Inhalt dieser Datei:
# 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
Kommentare
- Was ist der Inhalt Ihres /etc/bash.bashrc.
- Ich habe den Inhalt hinzugefügt. Ich bin mir nicht sicher, woher er kommt oder warum ich diesen Fehler erst kürzlich erhalte.
- Ich habe meine Erlaubnis und einige andere Computer überprüft und sehe diese
-rw-r--r-- 1 root root 8871 jul 11 04:52 /etc/bash.bashrc
- Diese Berechtigungen waren auch meine ursprünglichen. Aufgrund des Fehlers habe ich sie jedoch wie in der Frage aufgeführt ohne Erfolg geändert.
- Welche Berechtigungen hat das Verzeichnis
/etc
?
Antwort
Versuchen Sie: chmod 0755 /etc
als root. Möglicherweise ist ein Problem aufgetreten, bei dem die Berechtigungen des Verzeichnisses / etc falsch sind. Setzen Sie auch die Berechtigungen der Datei bash.bashrc auf ihre ursprünglichen Berechtigungen zurück. chmod 644 /etc/bash.bashrc
.
Antwort
Dies geschah mit dem Samba AD-Benutzer, daher habe ich auf der AD-Konsole dieselben Benutzerinformationen gelöscht und neu erstellt. Ich habe nur umbenannt Das Ausgangsverzeichnis mv /home/domain/user /home/domain/user.ex
ging davon aus, dass das Ausgangsverzeichnis allein möglicherweise betroffen war, und ließ den Benutzer neu angemeldet werden. Anschließend wurde der gesamte Inhalt aus dem umbenannten Ausgangsverzeichnis wieder in das neue Ausgangsverzeichnis verschoben. mv /home/domain/user.ex/* home/domain/user
Daher wurde das Ausgangsverzeichnis auf Lager wiederhergestellt und der Fehler abrt-cli status" timed out
verschwand ebenfalls.