Я бы беспокоился, что они поддельные и мошеннические; это не ожидаемый режим отказа SSD (ожидаемый режим отказа — он идет только для чтения -и, конечно, также возможен полный отказ ). Я бы с осторожностью доверял им хранить данные даже при включении. Если вы не провели всестороннее тестирование, я предполагаю, что фактическое поведение заключается в том, что у них есть некоторый объем ОЗУ, который возвращает самые -последних X байтов данных. Итак, это кеш, и флэш-память вышла из строя, но контроллер этого не понимает; или это мошенничество, которое кто-то совершил (, полностью исключив вспышку ).
Таким образом, довольно легко сказать Linux использовать их подкачку — просто запустите mkswap /dev/WHATEVER
и swapon /dev/WHATER
(/dev/disk/by-id/…
, было бы проще всего, если у них есть стабильные идентификаторы ), вы можете поместить это в службу systemd или другую загрузку. сценарий... но я бы не рекомендовал его.
Размещение переменной в файле crontab и в среде безопасно в том смысле, что другие пользователи не могут получить к ней доступ. Однако существует риск случайного раскрытия, например, если вы публикуете строку crontab при запросе помощи по отладке, или если вы копируете ее и отправляете кому-то в качестве примера того, как автоматизировать запуск скрипта, или если какие-то журналы процессов его среда и журнал доступны для людей, у которых не должно быть доступа к этому паролю, или если вы создаете его резервную копию, и резервные копии доступны для людей, у которых не должно быть доступа к этому паролю. Я рекомендую хранить секреты в отдельном файле или дереве каталогов и читать их при необходимости.
Если изменить нельзяscript.sh
:
VAR=$(cat ~/.secret/script/password)
Если вы можете изменить script.sh
, заставьте его считывать переменную, когда она ему нужна, а не делать ее доступной для всего скрипта.
Обратите внимание, что хотя переменные среды не раскрываются другим пользователям, аргументы командной строки могут быть видны другим пользователям через ps
. Так что не передавайте $VAR
в качестве аргумента внешней команде. Безопасно использовать $VAR
в качестве аргумента встроенной оболочки, например, следующее безопасно:
gpg --passphrase-fd=3 3< <(printf %s "$PASSPHRASE")
хотя этот конкретный пример проще выразить как
gpg --passphrase-file=/path/to/passphrase