我对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
“root”用户使用2个信号量,nobody(apache webserver)用户使用4个信号量。
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
并且文件已正确加密(并且可以显示为decripted),因此,根据我的理解,加密过程成功完成(显然),没有任何关联...
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的孤立信号量。
有没有人有相同的行为?我可以做些什么来防止它(而不是删除任何孤立信号量创建)?
谢谢任何人都能帮助我(对不起我的英语)。
Ciao,Stefano米兰,意大利