Получите последнее измененное содержание, так как в последний раз считано

Сначала необходимо изменить полномочия на Вашем /home/login/client/client.key файл так, чтобы это не была группа или доступные другие.

chmod 400 /home/login/client/client.key

Затем, как описано здесь необходимо реализовать метод, чтобы проверить, что клиенты соединяются с корректным сервером и что никакое нападение человека в середине не возможно.

1
28.10.2013, 01:52
1 ответ

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

Пример

Некоторый файл примера.

$ seq 10 > somefile.txt
$ ls -l |grep somefile.txt 
-rw-rw-r--   1 saml saml      21 Oct 26 13:29 somefile.txt

Теперь давайте считаем его.

$ cat somefile.txt | tee somefile_READ1.txt
1
2
3
4
5
6
7
8
9
10

Здесь команда tee покажет нам файл и создаст "сохраненную" копию, которая показывает нам строки, которые мы читаем в следующий раз. Нас теперь оставляют с этими файлами:

$ ls -l |grep somefile
-rw-rw-r--   1 saml saml      21 Oct 26 13:30 somefile_READ1.txt
-rw-rw-r--   1 saml saml      21 Oct 26 13:29 somefile.txt

Теперь некоторые дополнительные строки добавляются:

$ seq 11 20 >> somefile.txt

Мы видим датой, что она была записана в с прошлого раза, когда мы читаем ее путем сравнения дат этих 2 файлов:

$ ls -l |grep somefile
-rw-rw-r--   1 saml saml      21 Oct 26 13:30 somefile_READ1.txt
-rw-rw-r--   1 saml saml      51 Oct 26 13:32 somefile.txt

Теперь сравните эти 2 файла:

$ diff -y somefile.txt somefile_READ1.txt  | column -t
1   1
2   2
3   3
4   4
5   5
6   6
7   7
8   8
9   9
10  10
11  <
12  <
13  <
14  <
15  <
16  <
17  <
18  <
19  <
20  <

Выше мы видим эти 2 файла рядом. Содержание обновленного файла слева, исходное содержание справа.

Если Вы только хотите видеть различия, можно использовать эту форму diff вместо этого:

$ diff somefile.txt somefile_READ1.txt 
11,20d10
< 11
< 12
< 13
< 14
< 15
< 16
< 17
< 18
< 19
< 20
0
28.01.2020, 02:02

Теги

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