Bash kein Änderungsverzeichnis mehr

14

Meine Bash-Shell wechselt nicht länger das Verzeichnis mit CD. Ich bemerkte es früher bei der Arbeit und stellte fest, dass alle neuen Shells, die ich geöffnet hatte (Terminal oder xterm usw.), im Home-Verzeichnis stecken blieben und nicht raus konnten (bereits geöffnete Terminals funktionierten weiterhin einwandfrei).

[~]$ pwd
/home/sys/dave
[~]$ cd /
[~]$ cd Documents/
[~]$ pwd
/home/sys/dave
[~]$ type cd
cd is a shell builtin
[~]$ alias
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

Ich dachte, es muss etwas seltsam sein, dass ich keine Zeit hatte, mich mit so etwas wie einem Handler aus dem Speicher zu befassen (nachdem ich überprüft hatte, dass die CD keinen Alias ​​hatte und die eingebaute Version verwendete).

Also habe ich (ja, ich weiß) die Maschine neu gestartet.

Fresh Boot, genau das gleiche Problem.

CSH hingegen funktioniert gut, also gleich nach dem obigen Snippet:

[~]$ csh
[~]$ cd /
[/]$ pwd
/
[/]$ cd ~/Documents/
[~/Documents]$ pwd
/home/sys/dave/Documents
[~/Documents]$ 

Ich habe in den letzten Tagen nichts Neues installiert oder Updates durchgeführt und es hat bis zum späten Abend einwandfrei funktioniert.

Ideen / Hilfe / HILFE sehr geschätzt!

** UPDATE **

Beim Stöbern habe ich diese Zeile in .bashrc gefunden

export PROMPT_COMMAND="cd"

Wenn ich PROMPT_COMMAND deaktiviere, funktioniert alles wie gewohnt.

Aber ... WTF. Ich habe diese Zeile nicht in die .bashrc eingefügt und bis heute Abend hat alles einwandfrei funktioniert. Sollte ich es einfach auskommentieren, manuell deaktivieren oder einfach den Computer als Hexe brennen?

Dave C
quelle
Betriebssystem ist CentOS 6.3 Final, Kernel ist 2.6.32-279.11.1.el6.x86_64, Befehlszeilenerweiterung über die Registerkarte, wenn ich einen vollständigen Verzeichnisnamen eingebe und / more usw. erneut eingebe, wenn ich einen FQ-Dateipfad eingebe . Wenn das hilft.
Dave C
2
Wenn sich kürzlich etwas auf Ihrem System geändert hat und Sie der einzige Benutzer sind und diese Änderung nicht vorgenommen haben, wurde Ihr System möglicherweise kompromittiert?
Zoredache

Antworten:

20

Das Setzen von PROMPT_COMMANDauf cdist ein ziemlich verbreiteter Streich, wenn Sie ihn nicht gesetzt haben und Sie der einzige Benutzer sind, dann sind Sie ja kompromittiert worden.

Wenn Freunde Zugriff haben, ist dies ein Streich, den ich schon oft gesehen habe. Sprechen Sie mit ihnen.

Rfelsburg
quelle
6
Oder wenn Sie sich in einer Umgebung befinden, in der Ihr Terminal möglicherweise entsperrt ist. Es hängt von der Unternehmenskultur ab, aber da entsperrte Terminals eine verpönte Praxis sind, ist Streiche zwischen Sysadmins ziemlich verbreitet.
Andrew B
4
Ich glaube, ich habe einen Streich gespielt. +1 an meine Laborkollegen für einen Linux-Streich. -1 für mich, weil ich den Bildschirm nicht gesperrt habe. Glaube nicht, dass ich kompromittiert worden bin, zumindest hoffe ich nicht - alles andere sieht gut aus. Danke an alle für eure Antworten.
Dave C
Technisch gesehen ist dies immer noch ein Kompromiss, auch wenn es "zum Spaß" gemacht wurde. Abhängig davon, wer Sie sind und wo Sie sich befinden, kann dies dazu führen, dass Sie und / oder Ihre Kollegen darüber informiert werden oder es liegt in Ihrer Verantwortung, den IT-Mitarbeitern (laut Gesetz) den Kompromiss mitzuteilen.
Kusalananda