В чем разница между `fallocate --dig-hole` и` fallocate - -punch-hole` в Linux?

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

Я использую пару ключей gpg без пароля, которую храню в USB-накопителе. (Примечание: при экспорте этой пары ключей не используйте --armor, экспортируйте их в двоичном формате).

Сначала зашифруйте свой пароль:

echo -n "pAssw0rd" | gpg --armor --no-default-keyring --keyring /media/usb/key.pub --recipient someone@mail.com --encrypt

Будет распечатан зашифрованный пароль gpg в стандартном выводе. Скопируйте все сообщение и добавьте его в сценарий:

password=$(gpg --batch --quiet --no-default-keyring --secret-keyring /media/usb/key.priv --decrypt <<EOF 
-----BEGIN PGP MESSAGE-----

hQEMA0CjbyauRLJ8AQgAkZT5gK8TrdH6cZEy+Ufl0PObGZJ1YEbshacZb88RlRB9
h2z+s/Bso5HQxNd5tzkwulvhmoGu6K6hpMXM3mbYl07jHF4qr+oWijDkdjHBVcn5
0mkpYO1riUf0HXIYnvCZq/4k/ajGZRm8EdDy2JIWuwiidQ18irp07UUNO+AB9mq8
5VXUjUN3tLTexg4sLZDKFYGRi4fyVrYKGsi0i5AEHKwn5SmTb3f1pa5yXbv68eYE
lCVfy51rBbG87UTycZ3gFQjf1UkNVbp0WV+RPEM9JR7dgR+9I8bKCuKLFLnGaqvc
beA3A6eMpzXQqsAg6GGo3PW6fMHqe1ZCvidi6e4a/dJDAbHq0XWp93qcwygnWeQW
Ozr1hr5mCa+QkUSymxiUrRncRhyqSP0ok5j4rjwSJu9vmHTEUapiyQMQaEIF2e2S
/NIWGg==
=uriR
-----END PGP MESSAGE-----
EOF)

Таким образом, только если USB-порт смонтирован в системе, пароль можно расшифровать. Конечно, вы также можете импортировать ключи в систему (менее безопасно или совсем без защиты) или вы можете защитить закрытый ключ паролем (чтобы его нельзя было автоматизировать).

6
04.09.2017, 15:49
1 ответ

--dig-holesне изменяет содержимое файла, как это определено при чтении файла: он просто идентифицирует серии нулей, которые можно заменить дырками.

--punch-holeиспользует аргументы --offsetи --length, чтобы пробить дыру в файле, независимо от того, что файл содержит по этому смещению. : это работает, даже если файл содержит там не нули, но в результате содержимое файла изменяется. Учитывая ваш пример файла, запуск fallocate --punch-hole --offset 2 --length 10заменит десять символов aнулями, начиная со второго.

12
27.01.2020, 20:20

Теги

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