私の変数には非常に奇妙な問題がありますPATH
。特に、/usr/lib/hardening-wrapper/bin
ある瞬間追加されたのに追加したくないです。
私が最初にしたことは、~/.bashrc
それらのうちの誰かがそれを設定したことを確認することでしたが、彼らはそうではありませんでした。~/.bash_profile
/etc/profile
/etc/profile.d/*
/etc/environment
次に、隠されたスクリプトチェーンがこれを行っていると考えて、次のことを実行しました。
PS4='+$BASH_SOURCE> ' BASH_XTRACEFD=7 bash -xl 7>log
それが少し光を発散することを確認してください。驚いたことに、/usr/lib/hardening-wrapper/bin
私はそこにいませんでした。これがより簡単な環境で複製できることを確認するために、bash
プロンプトに従ってベアメタルを実行しました。bash
しかしその中にまたPATH
隠されたものがある/usr/lib/hardening-wrapper/bin
。
怖いのは、root ユーザーシェルに同じパスが存在しますが、X を実行しないとこれが起こらないことです。私はそれがX設定スクリプトに関連していると思いましたが、それらのどれも変更されませんでしたPATH
。また、私のターミナル(シロアリ)の構成にあるかもしれないと思いましたが、そうではありません。正直、今この瞬間も戸惑います。
PATH
このパスが私の変数に追加されるのを防ぐ方法を教えてくれる人はいますか?
フォローアップ:
私はそれが何を見つけるのかを知るために一晩中実行しましたfind . -type f -print0 | parallel --progress --null -L 100 -m -j 4 grep -I 'hardening-wrapper'
。全体として、次のような一致が見つかりました。
.bash_history
私はそれを含む多くのコマンドを実行してきたからです。./csassignments/ece454/thrift-0.10.0
分散コンピューティングプロセス用にインストールされたThriftが含まれています。 「tutorial_client」では、「relink_command」のパスを設定してエクスポートします。 Thriftのインストール時にPATHに含まれているようです。- クロスコンパイラの構築に使用するGNU binutilsとGCCのソースコードには、両方ともPATHを印刷するログが含まれています。上記のように、彼らは私の道を読んだようです。
- ソース(llvm)から構築されたいくつかのCMakeプロジェクトも私の以前のパスを読むようです。
私が知っている限り、これらのどれも自動的にロードされません。変更されたパスを実際にエクスポートする唯一のものは中古品チュートリアルクライアントです。
答え1
怖いのは、私のルートシェルにも同じパスがありますが、Xを実行しないとこれは起こらないということです。私はこれがX設定スクリプトに関連していると思いましたが、どちらもPATHを変更しませんでした。
実際にはXが起動したときにのみ設定されると主張します。残念ながら、どのデスクトップ環境を使用しているのかわかりませんでした。
どのXプロフィールを確認したかわかりませんでした。以下は、GUIアプリケーションの環境変数を設定します。
/etc/X11/xinit/xinitrc
~/.xinitrc
/etc/xprofile
~/.xprofile
源泉:https://wiki.archlinux.org/index.php/environment_variables
また、見ることができますhttps://wiki.archlinux.org/index.php/Xprofile
これらすべてが役に立たない場合は、どのデスクトップ環境でどのGNU / Linuxディストリビューションを使用しているかを知ることをお勧めします。