Действительно ли программы получают .bashrc, когда выполнено?

[

] GPG использует генератор случайных чисел Linux (ядро). Генератор случайных чисел ядра получает энтропию (случайность) из разного рода мест, среди них - прерывания по времени, для определенных прерываний. Перемещение мыши (и набор текста, активность диска и т.д.) будет генерировать прерывания.[

] [

]Таким образом, перемещение мыши действительно потенциально может попасть в генератор случайных чисел. Но зависит ли это от конкретной используемой версии ядра; более новые версии (по крайней мере, в моем тестировании) не используют прерывания клавиатуры или мыши для энтропии. Дисковая активность, тем не менее, делает (так, например, запуск []sync[] добавит потенциально большое количество энтропии, в зависимости от того, сколько смывается).[

] [

]Короче говоря: это не так в текущих версиях Linux. Это было на более старых версиях.[

] [

]Однако, если у генератора заканчивается энтропия, он должен просто остановиться, так что генерация ключа будет зависеть до тех пор, пока не будет сгенерирована некоторая энтропия. Таким образом, это будет проблемой навсегда, а не безопасности.[

] [

]Вы можете посмотреть, сколько энтропии доступно по []cat /proc/sys/kernel/random/entropy_avail[].[

].
1
26.01.2015, 21:46
2 ответа

Неинтерактивные оболочки не являются источником . bashrc, если не запрошен вручную, и более того, сервис, скорее всего, не вызывает оболочку (если только у него нет оберточного скрипта).

Как действовать, зависит от того, чего именно вы пытаетесь достичь. Службы обычно имеют свои собственные конфигурационные файлы для изменения своего поведения, и окружение также может быть указано для каждой службы конкретно (я не пользователь Ubuntu, так что я не уверен, как это работает на вашей системе - это upstart, не так ли?). Вы также можете изменить .profile, который загружается при входе в систему - переменные, экспортируемые в этом файле, доступны для всех детей. Если сервис на самом деле запущен глобально системой init (корнем, который просто переключается на Ваше имя пользователя), то это тоже не сработает. /etc/environment может работать, но я бы этого не рекомендовал, это уродливо.

В вашем случае, единственный действительно чистый способ - это установить среду для вашего сервиса.

2
27.01.2020, 23:37

для неинтерактивных раковин Bash, таких как скрипты Bash, .bashrc Файл не . Только интерактивные раковины Bash, которые не являются логинами Source Source этот файл. Для получения дополнительной информации вы можете посмотреть на раздел вызова на странице «Bash (1) MAN.

Услуга обычно не будет потомка интерактивной оболочки в любом случае, так что изменения .Bashrc не будут иметь никакого влияния на него.

0
27.01.2020, 23:37

Теги

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