GNU/Linux >> Linux の 問題 >  >> Linux

Linux – Linuxの非特権ユーザーには、環境変数が表示されますか?

Linuxで、プロセスの環境変数が他の(ルート以外の)ユーザーによって監視可能かどうかを判断しようとしています。

当面のユースケースは、環境変数に秘密を置くことです。これは、Web全体の多くの場所で安全ではないと説明されていますが、Linuxの正確な露出ポイントに焦点を当てることはできませんでした。

私はそうではないことに注意してください 平文の秘密をファイルに入れることについて話している。また、私はそうではないことにも注意してください rootアカウントへの露出について話します(rootを非スターターとして、敵から秘密を隠そうとしていると思います)。

この質問は、環境変数を完全にセキュリティがない、または単に難読化されているだけであると分類するコメントで、私のものに対処しているように見えますが、どのようにそれらにアクセスしますか?

私のテストでは、特権のない1人のユーザーが、プロセステーブル(「psauxwwe」)を介して別のユーザーの環境変数を監視することはできません。環境変数を設定するコマンド(例:エクスポート)はシェルビルトインであり、プロセステーブルに組み込まれず、ひいては/ proc / $ pid/cmdlineにはありません。 / proc / $ pid / environは、プロセス所有者のUIDでのみ読み取ることができます。

おそらく、異なるオペレーティングシステムまたはバージョン間で混乱が生じています。 Web全体のさまざまな(最近の)ソースは、環境変数の不安定さを非難していますが、さまざまなLinuxバージョンのスポットチェックは、少なくとも2007年までさかのぼることは不可能であることを示しているようです(おそらくそれ以上ですが、ボックスがありませんテストする手)。

Linuxでは、非特権ユーザーは他のプロセスの環境変数をどのように監視できますか?

承認された回答:

Gillesがsecurity.stackexchange.comの同様の質問に対する非常に包括的な回答で説明したように、プロセス環境には、プロセスを所有するユーザー(そしてもちろんルート)のみがアクセスできます。


Linux
  1. Linuxで環境変数とシェル変数を設定/作成する方法

  2. Linux –すべてのユーザーにとって永続的な環境変数?

  3. Linux –異なるLinux / UNIXカーネルは交換可能ですか?

  1. * in * / etc / environment?で環境変数を参照する

  2. Linux で環境変数を設定、一覧表示、および削除する方法

  3. Linux エクスポート コマンドの例 (環境変数の設定方法)

  1. Linux での「su」および「sudo」によるユーザー環境変数

  2. Linux Mint - 環境変数を永続的に追加する

  3. Ansible で Linux 環境変数を設定する方法