Дешифруйте файлы, зашифрованные с gpg, использующим xargs

Начальная загрузка от Вашего ArchLinux живой CD снова и в командной строке как корень выполняет точное следующее.

mkdir /mnt/root
mount /dev/sda3 /mnt/root
mount /dev/sda1 /mnt/root/boot
cp -a /dev/sd* /mnt/root/dev/
chroot /mnt/root
mount /proc
cat /proc/mounts > /etc/mtab
grub-install --recheck --no-floppy /dev/sda
umount /proc
exit
umount /mnt/root/boot
umount /mnt/root
reboot

В зависимости от того, что Вы сделали попытку установить autofs, Вы могли бы хотеть проверить это /etc/fstab или /boot/grub/menu.lst файлы являются правильными, в то время как Вы - chrooted в своей системе (после того, как mount /proc выше).

Существует также еще один (более короткий) способ, которым это может быть сделано. Не уверенный, если это возможно с archlinux живой CD, но вероятно.

mkdir /mnt/root
mount /dev/sda3 /mnt/root
mount /dev/sda1 /mnt/root/boot
grub-install --root-directory=/mnt/root --recheck --no-floppy /dev/sda
umount /mnt/root/boot
umount /mnt/root
reboot
5
06.07.2012, 14:28
2 ответа

Выполненный gpg-агент или подобная программа. Настроенный gpg для поиска рабочего агента, как объяснено в документации. Введите пароль в агент раз и навсегда (для этой сессии).

Отметьте это ls | xargs -n 1 gpg только работы, если Ваши имена файлов не содержат специальных символов. Вообще говоря, не анализируйте вывод ls, и xargs бессмысленно, когда Вы хотите запустить программу однажды на файл. Сделайте это вместо этого:

for x in *.gpg; do gpg "$x"; done
6
27.01.2020, 20:35

Можно сделать это:

for i in *; do 
  /usr/bin/gpg --batch --passphrase-fd 3  --decrypt $i 3<pass > $i.decoded ; 
done

Когда "передача" является полным путем к файлу, который содержит Ваш пароль.

Файлы будут декодироваться к [то же имя] .decoded.

4
27.01.2020, 20:35
  • 1
    Не используйте * здесь. Использовать. /* так, чтобы можно было быть уверены что расширение $i не начинается - (то, чтобы заставлять это быть похожими на другую опцию). –  James Youngman 06.07.2012, 17:49
  • 2
    Может также использовать --passphrase или --passphrase-file вместо этого. –  rsaw 06.07.2012, 17:54
  • 3
    @JamesYoungman хорошая подсказка, +1 –  Tim 06.07.2012, 18:16

Теги

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