У меня проблема с управлением семафорами pgp.

Насколько я вижу, pgp (версия 6.5.8) создает 4 семафора, когда начинает шифровать файл, но только 2 из них затем уничтожаются в конце.

Чтобы воспроизвести я пытался ..

1) список используемых в настоящее время семафоров

> ipcs -s

------ Semaphore Arrays --------
key        semid      owner      perms      nsems
0x00000000 0          root       600        1
0x00000000 32769      root       600        1
0x00000000 98306      nobody     600        1
0x00000000 131075     nobody     600        1
0x00000000 163844     nobody     600        1
0x00000000 196613     nobody     600        1
0x00000000 229382     nobody     600        1

2 семафора используются пользователем "root" и 4 семафора - никем (веб-сервер apache).

2) затем, если я пытаюсь создать и зашифровать только что созданный файл, я получаю такой вывод:

> pgp -e /tmp/test.tmp 'ftp-vega <ftp-vega@it.st.com>'
Pretty Good Privacy(tm) Version 6.5.8
(c) 1999 Network Associates Inc.
Uses the RSAREF(tm) Toolkit, which is copyright RSA Data Security, Inc.
Export of this software may be restricted by the U.S. government.



Recipients' public key(s) will be used to encrypt.

Key for user ID: ftp-vega <ftp-vega@it.st.com>
2048-bit RSA key, Key ID 0x8AB0285F, created 2005/11/02
Key can sign.

Ciphertext file: /tmp/test.tmp.pgp

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

3) Но затем, если я попытаюсь снова перечислить используемые семафоры, я вижу, что еще 2 семафора были созданы, но не очищены:

> ipcs -s

------ Semaphore Arrays --------
key        semid      owner      perms      nsems
0x00000000 0          root       600        1
0x00000000 32769      root       600        1
0x00000000 98306      nobody     600        1
0x00000000 131075     nobody     600        1
0x00000000 163844     nobody     600        1
0x00000000 196613     nobody     600        1
0x00000000 229382     nobody     600        1
0x00000000 11599881   root       0          1
0x00000000 11632650   root       0          1

Так как в этой системе pgp запускается несколько раз в день (для шифрования нескольких файлов), несколько дней назад я перечислил более 1000 потерянных семафоров, имеющих perms = 0.

Есть ли кто-нибудь с таким же поведением? Что я могу сделать, чтобы предотвратить это (вместо этого, чтобы удалить в любое время любые созданные семафоры-сироты)?

Спасибо, кто-нибудь сможет мне помочь (и извините за мой английский).

Чао, Стефано Милан, Италия

1 ответ1

0

Наконец-то я обнаружил причину семафоров-сирот, вызванных pgp (Pretty Good Privacy (tm) версии 6.5.8 - (c) 1999 Network Associates Inc) под Linux-машиной. PGP использует архитектуру семафоров для шифрования данных ... во время шифрования создается 4 семафора, но только 2 из них уничтожаются в конце, и для нескольких файлов, которые должны быть зашифрованы, это может вызвать описанное выше поведение.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .