Прозрачное шифрование истории удара?

Прежде всего, вам следует использовать правильный анализатор CSV. Например, в Perl вы можете использовать Text :: CSV :

  1. Install cpanm (если вы используете Perl, вы поблагодарите меня позже)

     $ sudo apt  -get install cpanminus
     

    Если вы не используете систему на основе Debian, вы сможете установить ее с помощью диспетчера пакетов вашего дистрибутива.

  2. Установите модуль Text :: CSV

     $ sudo cpanm Text :: CSV
     
  3. Разберите ваш файл

     $ perl -MText :: CSV -le '
      $ csv = Text :: CSV-> новый ({двоичный => 1});
      while ($ row = $ csv-> getline (STDIN)) {
      print "1: $ row -> [0], 2: $ row -> [1], 3: $ row -> [2], 4: $ row -> [3]"} '

    Как вы можете видеть выше, первое поле - это $ row -> [0] , второе $ row -> [1] и т. Д.


Это был правильный путь. Более простой, но грязный прием - заменить любые кавычки запятыми другим символом. Затем обычно используйте awk и, наконец, снова замените их запятыми. Я использую здесь ### , но вы можете использовать все, что, как вы уверены, никогда не будет в одном из ваших полей.

$ sed -r 's/("[^",]+),([^",]+")/\1###\2/g' file.csv | 
    awk -F, '{print $1,$3}' | sed 's/###/,/g'
"prabhat,kumar" 2000
1
04.04.2014, 04:32
1 ответ

Нет, это невозможно; В Баше нет такой функции. Что еще более важно, эта идея глубоко ошибочна.

От кого ты скрываешь свою историю?

Злоумышленник должен иметь доступ к вашему домашнему каталогу и может читать ваши «точечные» файлы конфигурации и другие материалы.Почему бы вам просто не использовать разрешения, чтобы держать их подальше?

Является ли злоумышленник администратором, не защищенным разрешениями? (Либо имеет root, либо неограниченный доступ к системным резервным копиям, содержащим ваш домашний каталог и т. д. )В таком случае, зачем особенно беспокоиться о вашей истории Bash? У вас нет конфиденциальности в этой системе. Злоумышленник может шпионить за памятью в ваших запущенных процессах.

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

Как вы можете видеть, вряд ли существует какой-либо вариант использования подхода «ударить -крота» -к безопасности файлов (, предоставляя каждому отдельному приложению возможность защищать определенные файлы ).

2
27.01.2020, 23:52

Теги

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