Что означает разрешение на выполнение для папки? [дубликат]

Лучше было бы переписать myapplication , чтобы оно получало пароль другим способом, например stdin. Environment - еще один вариант, но он все еще виден процессам с тем же euid (или euid 0) через / proc / / environmental .

В противном случае в Linux с версиями до 4.2 вы можете ограничить доступ, убедившись, что пароль не находится в первых 4096 байтах командной строки, чтобы другие процессы не могли получить его, прочитав / proc / / cmdline (как и ps ). 4.2 и более поздние версии больше не усекают / proc / / cmdline .

Например, с zsh

.${(l:4094::/:):-myapplication} --smtp-password=secret

запустит myapplication с первым аргументом размером 4095 байт (4096 вы превысите предел PATH_MAX), что-то вроде .////// [. ..] /// myapplication , поэтому ваш пароль будет выше точки останова 4095.

Обратите внимание, что журналы аудита и файлы истории оболочки - это другие области, вызывающие беспокойство в отношении секретных строк, передаваемых в командной строке.

9
16.12.2018, 05:57
0 ответов

Теги

Похожие вопросы