# [solved].bashrc "Keine Berechtigung" als root

## holgi1789

Hallo,

ich möchte gerne die Umgebungsvariablen bei der Standard-Einstellung belassen und nur für "meine" User holgi und root neue Umgebungen schaffen. Für den normalen User klappt es hervorragend, jedoch nicht für root in einer login shell. Alle Infos habe ich in .bashrc zusammengestellt und die .profile verweist nur auf die .bashrc:

```

percy root # cat .profile

~/.bashrc

```

Jedoch immer wenn ich root von einer Login-Shell ausführe bekomme ich die Fehlermeldung, dass die Rechte nicht ausreichen, obwohl _alle_ die Datei lesen dürfen:

```

holgi@percy:~$ su -

Password:

-bash: /root/.bashrc: Keine Berechtigung

percy root # ls -al .profile

-rw-r--r--  1 root root 10 Sep 27 01:26 .profile

percy root # ls -al .bashrc

-rw-r--r--  1 root root 1941 Feb 24  2004 .bashrc

```

Logischerweise ist das Erscheinungsbild ein anderes als gewünscht; möchte die Einstellungen jedoch nicht global definieren, da jeder User sein eigene Erscheinung wählen soll. Hat jemand das schon gehabt und eine Lösung?

Danke,

HolgerLast edited by holgi1789 on Mon Sep 27, 2004 1:42 am; edited 1 time in total

----------

## psyqil

```
. ~/bashrc
```

----------

## Deever

So braucht das Skript natürlich Ausführrechte. Ich bevorzuge es allerdings, die .bashrc (.zshrc) per 'source' einzubinden.

HTH!

/dev

----------

## holgi1789

 *Deever wrote:*   

> So braucht das Skript natürlich Ausführrechte. Ich bevorzuge es allerdings, die .bashrc (.zshrc) per 'source' einzubinden.
> 
> HTH!
> 
> 

 

Ja danke, hat geholfen. Aber wieso klappt es ohne die Ausführrechte für die .bashrc bzw. ohne source ~/.bashrc als regulärer User und auf einem Debian-System, dass imho noch eher Ausführrechte bräuchte?

```

ns1:~# cat .profile

# ~/.profile: executed by Bourne-compatible login shells.

if [ -f ~/.bashrc ]; then

  . ~/.bashrc

fi

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11

export PATH

mesg n

```

----------

## Deever

 *new_holgi wrote:*   

> Aber wieso klappt es ohne die Ausführrechte für die .bashrc bzw. ohne source ~/.bashrc als regulärer User und auf einem Debian-System, dass imho noch eher Ausführrechte bräuchte?

 

Hä?

Parse error.

Gruß,

/dev

----------

## psyqil

 *man bash wrote:*   

> .  filename [arguments]
> 
>        source filename [arguments]
> 
>               Read  and  execute  commands from filename in the current shell environment and return the exit status of the last command executed from
> ...

 Man beachte den Fliegendreck vor ~/.bashrc...  :Razz: 

----------

## holgi1789

 *Deever wrote:*   

>  *new_holgi wrote:*   Aber wieso klappt es ohne die Ausführrechte für die .bashrc bzw. ohne source ~/.bashrc als regulärer User und auf einem Debian-System, dass imho noch eher Ausführrechte bräuchte? 
> 
> Hä?
> 
> Parse error.
> ...

 

Sorry,

viel zu spät für mich! Der Punkt ist der Punkt. root führt natürlich keine Dateien im aktuellen Verzeichnis aus, deshalb klappt es als User, da ~/.bashrc gefunden wird und wohl auch ausgeführt. Im aktuellen Verzeichnis hat root keine Rechte Dateien auszuführen. Das für die Nachwelt und um zu dokumentieren, dass zur fortgeschrittenen Stunde vergessene Punkte fürs aktuelle Verzeichnis durchaus entscheidend sein können.

----------

## psyqil

Für die Nachwelt möchte ich noch dokumentieren, daß hier garnichts ausgeführt wird, sondern "." bzw. "source" ein bash-internes Kommando ist, das die darauf folgende Datei einliest, Du denkst wohl an "./befehl", was das Ausführen im aktuellen Verzeichnis angeht...und jetzt gute Nacht!  :Very Happy: 

----------

