Сначала необходимо изменить полномочия на Вашем /home/login/client/client.key
файл так, чтобы это не была группа или доступные другие.
chmod 400 /home/login/client/client.key
Затем, как описано здесь необходимо реализовать метод, чтобы проверить, что клиенты соединяются с корректным сервером и что никакое нападение человека в середине не возможно.
Единственным путем я могу думать о выполнении, что-то вроде этого должно было бы сохранить копию файла на временное имя при последнем чтении его и затем когда Вы перечитаете его снова, необходимо будет использовать инструмент такой как 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