Я намагаюся визначити, чи змінні в середовищі Linux змінні середовища для процесу доступні для інших (некореневих) користувачів.
Випадок негайного використання - це введення секретів у змінні середовища. Це обговорюється в багатьох місцях в Інтернеті як небезпечне, але я не зміг досягти нуля в точній точці експозиції в Linux.
Зауважте, що я не говорю про введення секретів ясного тексту у файли. Також зауважте, що я не говорю про вплив кореневого облікового запису (я бачу спробу приховати секрети від супротивника з коренем як нестартер).
Це питання, як видається, стосується моїх, з коментарями, які класифікують змінні середовища як повністю без захисту, або просто просто затуманені, але як можна отримати доступ до них?
У моїх тестах один непривілейований користувач не може спостерігати змінні середовища для іншого користувача через таблицю процесів ('ps auxwwe'). Команди, що встановлюють змінні середовища (наприклад, експорт), є вбудованими оболонками, які не вносять їх у таблицю процесів, а розширення не знаходяться в / proc / $ pid / cmdline. / proc / $ pid / environment читає тільки UID власника процесу.
Можливо, плутанина між різними операційними системами або версіями. Різні (недавні) джерела в Інтернеті декретують незахищеність змінних оточуючих середовищ, але мої точні перевірки різних версій Linux, схоже, вказують на те, що це неможливо повернути принаймні до 2007 року (можливо, далі, але я не маю вікон на рука для тестування).
Як в Linux непривілейований користувач може спостерігати змінні середовища для інших процесів?