GNU/Linux >> Znalost Linux >  >> Linux

Linux – Jsou proměnné prostředí viditelné pro neprivilegované uživatele na Linuxu?

Snažím se zjistit, zda v Linuxu jsou proměnné prostředí pro proces pozorovatelné jinými uživateli (jinými než root).

Bezprostředním případem použití je vkládání tajemství do proměnných prostředí. O tom se na mnoha místech na webu diskutuje jako o nezabezpečeném, ale v Linuxu se mi nepodařilo vynulovat přesný bod expozice.

Všimněte si, že nejsem mluví o vkládání tajných kódů čistého textu do souborů. Všimněte si také, že nejsem mluvit o vystavení účtu root (pokus skrýt tajemství před protivníkem s rootem považuji za nestartujícího).

Zdá se, že tato otázka odpovídá té mé, s komentáři, které klasifikují proměnné prostředí jako zcela bez zabezpečení nebo pouze zamlžené, ale jak k nim lze přistupovat?

V mých testech jeden neprivilegovaný uživatel nemůže pozorovat proměnné prostředí pro jiného uživatele prostřednictvím tabulky procesů („ps auxwwe“). Příkazy, které nastavují proměnné prostředí (např. export), jsou vestavěné shelly, které se nedostanou do tabulky procesů a v rozšíření nejsou v /proc/$pid/cmdline. /proc/$pid/environ je čitelné pouze pomocí UID vlastníka procesu.

Možná je záměna mezi různými operačními systémy nebo verzemi. Různé (nedávné) zdroje na webu odsuzují nejistotu proměnných prostředí, ale moje namátková kontrola různých verzí linuxu zdá se naznačuje, že to není možné, alespoň do roku 2007 (pravděpodobně dále, ale nemám na nich políčka ruku na zkoušku).

Jak může v Linuxu neprivilegovaný uživatel pozorovat proměnné prostředí pro procesy jiných?

Přijatá odpověď:

Jak Gilles vysvětlil ve velmi obsáhlé odpovědi na podobnou otázku na security.stackexchange.com, prostředí procesů jsou přístupná pouze uživateli, který proces vlastní (a samozřejmě root).


Linux
  1. Jak nastavit/vytvořit proměnné prostředí a prostředí v Linuxu

  2. Odkazování na proměnné prostředí *v* /etc/environment?

  3. Příklady exportních příkazů pro Linux (jak nastavit proměnné prostředí)

  1. Proměnné uživatelského prostředí S „su“ a „sudo“ v Linuxu

  2. Linux Mint – trvalé přidávání proměnných prostředí

  3. Jak nastavit proměnné prostředí Linuxu pomocí Ansible

  1. Linux – trvalá proměnná prostředí pro všechny uživatele?

  2. Linux – Jsou různá jádra Linux/unix zaměnitelná?

  3. Jsou proměnné prostředí viditelné pro neprivilegované uživatele v systému Linux?