Libelektra: ํ…Œ์ŠคํŠธ๋Š” ๋ฌด์ œํ•œ gpg-agent๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2018๋…„ 04์›” 19์ผ  ยท  36์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: ElektraInitiative/libelektra

๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•˜๋Š” ๋‹จ๊ณ„

  • ์˜ˆ๋ฅผ ๋“ค์–ด ๋„์ปค ์ปจํ…Œ์ด๋„ˆ์—์„œ elektra๋ฅผ ๋นŒ๋“œํ•˜๊ฑฐ๋‚˜ v2 ์„œ๋ฒ„๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.
  • ํ…Œ์ŠคํŠธ ์‹คํ–‰ make run_nokdbtests
  • ps -ef
  • ํ…Œ์ŠคํŠธ ์‹คํ–‰ make run_nokdbtests
  • ps -ef
  • ????
  • ๋‹ˆ pid๊ฐ€ ์–ด๋””๋กœ ๊ฐ”๋Š”์ง€ ๊ถ๊ธˆํ•ด

์˜ˆ์ƒ ๊ฒฐ๊ณผ

ํ…Œ์ŠคํŠธ๊ฐ€ ์™„๋ฃŒ๋œ ํ›„ gpg-agents๋ฅผ ์ค‘์ง€ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ œ ๊ฒฐ๊ณผ

๊ฐ ํ…Œ์ŠคํŠธ ์‹คํ–‰์€ ๋” ๋งŽ์€ gpg-agent๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ ์ •๋ณด

  • Elektra ๋ฒ„์ „ : master

์ถ”๊ฐ€ ๋กœ๊ทธ ํŒŒ์ผ ๋ฐ ์ถœ๋ ฅ

+ ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 05:57 pts/0    00:00:00 bash
root     11296     1  0 07:01 pts/0    00:00:00 sh -c /usr/bin/python2 /root/cppcms-1.2.0/tests/http_timeouts_test.py 
root     11297 11296  0 07:01 pts/0    00:00:00 /usr/bin/python2 /root/cppcms-1.2.0/tests/http_timeouts_test.py write 
root     28509     1  0 07:55 ?        00:00:00 gpg-agent --homedir /tmp/elektra-test.NmmZ2I/.gnupg --use-standard-soc
root     28519     1  0 07:55 ?        00:00:00 gpg-agent --homedir /tmp/elektra-test.6mb1t2/.gnupg --use-standard-soc
root     28539     1  0 07:55 ?        00:00:00 gpg-agent --homedir /tmp/elektra-test.5XdxDR/.gnupg --use-standard-soc
root     30656     1  0 08:00 pts/0    00:00:00 ps -ef
+ make run_nokdbtests
+ ps -ef
+ ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 05:57 pts/0    00:00:00 bash
root     11296     1  0 07:01 pts/0    00:00:00 sh -c /usr/bin/python2 /root/cppcms-1.2.0/tests/http_timeouts_test.py 
root     11297 11296  0 07:01 pts/0    00:00:00 /usr/bin/python2 /root/cppcms-1.2.0/tests/http_timeouts_test.py write 
root     28509     1  0 07:55 ?        00:00:00 gpg-agent --homedir /tmp/elektra-test.NmmZ2I/.gnupg --use-standard-soc
root     28519     1  0 07:55 ?        00:00:00 gpg-agent --homedir /tmp/elektra-test.6mb1t2/.gnupg --use-standard-soc
root     28539     1  0 07:55 ?        00:00:00 gpg-agent --homedir /tmp/elektra-test.5XdxDR/.gnupg --use-standard-soc
root     30778     1  0 08:02 ?        00:00:00 gpg-agent --homedir /tmp/elektra-test.GZbzqb/.gnupg --use-standard-soc
root     30788     1  0 08:02 ?        00:00:00 gpg-agent --homedir /tmp/elektra-test.PEjcKs/.gnupg --use-standard-soc
root     30808     1  0 08:02 ?        00:00:00 gpg-agent --homedir /tmp/elektra-test.d6yL2g/.gnupg --use-standard-soc
root     30923     1  0 08:02 pts/0    00:00:00 ps -ef
bug work in progress

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๊ณต์œ ํ•˜๋ฉด ํ…Œ์ŠคํŠธ๋ฅผ ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰ํ•˜์ง€ ๋ชปํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๋‚˜์ค‘์— GNUPGHOME์„ ์‚ญ์ œํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค (๋กœ๊ทธ์ธ ํ•œ ์‚ฌ์šฉ์ž ๊ถŒํ•œ์— ๋Œ€ํ•ด ๋Š๋ฆฐ pgp-agent ์‘๋‹ต ํ˜ธ์ถœ์„ ์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ?).

๊ทธ๋ฆฌ๊ณ  ๋Œ€์ƒ ์‹œ์Šคํ…œ์ด GNUPGHOME์—์„œ ๋ฆด๋ ˆ์ดํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ๊ธฐ์กด ํ™˜๊ฒฝ์„ ์ €์žฅํ•˜๊ณ  ํ…Œ์ŠคํŠธ ํ›„ ์ˆ˜๋™์œผ๋กœ ๋ณต์›ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

ํ•œ ๋ฐœ ๋ฌผ๋Ÿฌ์„œ์„œ ์ด๋Ÿฌํ•œ ํ…Œ์ŠคํŠธ๊ฐ€ ํ…Œ์ŠคํŠธ ์„œ๋ฒ„ ํ™˜๊ฒฝ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‚ฌ์šฉ์ž ์‹œ์Šคํ…œ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ๋Š”์ง€ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ๋‹ค๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  36 ๋Œ“๊ธ€

๋ฌธ์ œ๋ฅผ ์‹ ๊ณ  ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

@ petermax2 ํ…Œ์ŠคํŠธ ์ค‘์— gpg ๋ช…๋ น์ด gpg-agents๋ฅผ ์ƒ์„ฑ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. gpg๊ฐ€ ํ•ญ์ƒ ๋™์ผํ•œ ์—์ด์ „ํŠธ์— ์—ฐ๊ฒฐ๋  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์กฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

@ markus2330 ์ด๊ฒƒ์€ docker ์ปจํ…Œ์ด๋„ˆ๊ฐ€ 1000 : 1000์œผ๋กœ ์‹คํ–‰๋˜๋ฏ€๋กœ v2์— ์‚ฌ์šฉ์ž ID๋กœ๋ณด๊ณ  ๋œ gpg ์—์ด์ „ํŠธ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์€ ์ด์œ ์ด๊ธฐ๋„ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋ฌธ์ œ๋Š” ๋„์ปค์—๋งŒ ๊ตญํ•œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. debian-stretch-minimal๋„ 250 ๊ฐœ๋ฅผ ์ดˆ๊ณผํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ถ€ ๋…ธ๋“œ๋Š” ํ…Œ์ŠคํŠธ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์  ํ‚จ์Šค ์šฉ gpg-agent๋ฅผ ์ƒ์„ฑํ•˜๋„๋ก ์„ค์ • ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์˜ํ–ฅ์„๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค (์•„๋งˆ๋„ ํ™•์ธํ•ด์•ผ ํ•จ).

์กฐ์‚ฌํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ผ๋ถ€ ๋…ธ๋“œ๋Š” ํ…Œ์ŠคํŠธ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์  ํ‚จ์Šค ์šฉ gpg-agent๋ฅผ ์ƒ์„ฑํ•˜๋„๋ก ์„ค์ • ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์˜ํ–ฅ์„๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค (์•„๋งˆ๋„ ํ™•์ธํ•ด์•ผ ํ•จ).

์‹œ์ž‘ํ•˜๋Š” ์—์ด์ „ํŠธ๋ฅผ ์ข…๋ฃŒ ํ•  ๋ฐฉ๋ฒ•์„ ์ฐพ์„ ์ˆ˜์—†๋Š” ๊ฒฝ์šฐ ํ™˜๊ฒฝ์— ์ด๋ฏธ gpg-agent (# 1888)๊ฐ€ ์žˆ์Œ์„ ์š”๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•„๋งˆ๋„ gpg ์—์ด์ „ํŠธ๋Š” ์‹œ์ž‘ํ•˜๋Š” ๋ฐ ์ „ํ˜€ ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฉฐ ํ…Œ์ŠคํŠธ ์ค‘์— ์–ต์ œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š” ์ €๋…์— ๊ทธ๊ฒƒ์„ ๋ด์•ผํ•œ๋‹ค.

mh ์ผ๋ฐ˜์ ์œผ๋กœ GPG_AGENT_INFO ๋Š” ํ•˜๋‚˜๊ฐ€ ์‹œ์ž‘๋  ๋•Œ ์„ค์ •๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ณผ๊ฑฐ์—๋Š” ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์ •๋ฆฌํ•˜์—ฌ ๊ณผ๊ฑฐ์— ์—ฌ๋Ÿฌ ๋ฒˆ์˜ ์‹œ์ž‘์„ ์„ค๋ช…ํ–ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ ์™œ ์—ฌ์ „ํžˆ ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค ...

@ petermax2 gpg-agent๊ฐ€ ํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ (gpg-agent๋ฅผ gpg-agent.bak๋กœ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•˜์—ฌ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค;)) :

  • testmod_fcrypt
  • testmod_crypto_openssl
  • testmod_crypto_gcrypt

testmod_crypto_botan ๋Š” testmod_crypto_gcrypt ๋ฐ testmod_crypto_openssl ์ฒ˜๋Ÿผ ์ •ํ™•ํžˆ ์‹คํ–‰๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. Botan ํ…Œ์ŠคํŠธ๊ฐ€ ์„œ๋ฒ„์—์„œ ์‹คํ–‰๋˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

@ petermax2 ์•„๋งˆ๋„ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ํ…Œ์ŠคํŠธ ํ•œ ํ™˜๊ฒฝ์—์„œ๋Š” botan์ด ์„ค์น˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์—ฌ๊ธฐ์—์„œ ์‹คํ–‰ ์ค‘์ด๋ฉฐ ์—์ด์ „ํŠธ๋ฅผ ์ƒ์„ฑ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ ‡๊ฒŒ ๊ฐ„๋‹จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ค‘์— --no-autostart ์ธ์ˆ˜๋กœ gpg ํ˜ธ์ถœ์„ ์‹œ๋„ํ–ˆ์ง€๋งŒ gpg๋Š” ์—ฌ์ „ํžˆ ์—์ด์ „ํŠธ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. --no-use-agent ์€ ์žฌ๋ฐŒ์Šต๋‹ˆ๋‹ค. ๋งค๋‰ด์–ผ ํŽ˜์ด์ง€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

--no-use-agent 
              This is dummy option. gpg2 always requires the agent.

์‹œ์ž‘ํ•˜๋Š” ์—์ด์ „ํŠธ๋ฅผ ์ข…๋ฃŒ ํ•  ๋ฐฉ๋ฒ•์„ ์ฐพ์„ ์ˆ˜์—†๋Š” ๊ฒฝ์šฐ ํ™˜๊ฒฝ์— ์ด๋ฏธ gpg-agent (# 1888)๊ฐ€ ์žˆ์Œ์„ ์š”๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ธฐํšŒ๋ฅผ ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

๋˜๋Š” ๊ฐ™์€ ํฌ๋ก  ์ž‘์—…์„

pgrep gpg-agent | xargs -d "\n" kill

๋˜๋Š” ๋นŒ๋“œ ์„œ๋ฒ„ / ์ปจํ…Œ์ด๋„ˆ์—์„œ ๋น„์Šทํ•œ ๊ฒƒ?

์—์ด์ „ํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์‹œ์ž‘ํ•˜์ง€ ์•Š์œผ๋ฉด pid๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ์ •๋ฆฌ์—์„œ ์—์ด์ „ํŠธ๋ฅผ ์ค‘์ง€ํ•˜์‹ญ์‹œ์˜ค. ๋‹ค๋ฅธ ๋ชจ๋“  ๊ฒƒ์€ ํ•ดํ‚น์ž…๋‹ˆ๋‹ค.

๋‹น์‹ ์ด ์˜ณ์Šต๋‹ˆ๋‹ค. ์œ ์ผํ•œ ์งˆ๋ฌธ์€ ์‹œ์ž‘๊ณผ ์ค‘์ง€๊ฐ€ ์–ด๋””์—์„œ ๋ฐœ์ƒํ•ด์•ผ ํ•˜๋Š”๊ฐ€์ž…๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ / ๋„์ปค ๋‚ด์—์„œ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด C๋กœ ์ž‘์„ฑ๋œ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ณด๋‹ค ์‰ฌ์šด ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ง€๊ธˆ๊นŒ์ง€ ๋ฐฐ์šด ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  gpg ํ˜ธ์ถœ์—์„œ ์ผ๊ด€๋˜๊ฒŒ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ --no-autostart ์˜ต์…˜์œผ๋กœ gpg-agent ์˜ ์ž๋™ ์‹œ์ž‘์„ ์–ต์ œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ gpg-agent gpg2 ์—†์ด๋Š” ๊ฐœ์ธ ํ‚ค (์ฆ‰, ์•”ํ˜ธ ํ•ด๋…, ์„œ๋ช…)๊ฐ€ ํ•„์š”ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

gpg-agent --server ๋ฅผ ํฌํฌ ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ gpg2 ๋Š” ์—์ด์ „ํŠธ์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ GPG_AGENT_INFO ๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ gpg2 ๋” ์ด์ƒ ๊ณ ๋ ค๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํฌํฌํ•˜๊ณ  execv gpg-agent --daemon ๋ฅผ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. ์‹œ์ž‘๋œ gpg-agent ์˜ PID๋ฅผ ์ฐพ์„ ์ˆ˜์žˆ๋Š” ๋ฐฉ๋ฒ• SIGTERM ์žˆ์œผ๋ฉด ํ…Œ์ŠคํŠธ๊ฐ€ ์™„๋ฃŒ ๋  ๋•Œ

์—์ด์ „ํŠธ / ๋„์ปค ๋‚ด์—์„œ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด C๋กœ ์ž‘์„ฑ๋œ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ณด๋‹ค ์‰ฌ์šด ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํ›จ์”ฌ ์‰ฌ์›Œ์š” :-)

์—์ด์ „ํŠธ์— ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด gpg์˜ ๊ธฐ๋ณธ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์˜ณ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

gpg-agent๋ฅผ ์‹œ์ž‘ / ์ค‘์ง€ํ•˜๋Š” ๋Œ€์‹  .gnupg / gpg.conf์—์„œ "use-agent"๋ฅผ ๋น„ํ™œ์„ฑํ™” ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜๋‚˜์˜ ์—์ด์ „ํŠธ ์ž๋™ ์‹œ์ž‘์— ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ƒˆ ํ…Œ์ŠคํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ํ›„์† ํ…Œ์ŠคํŠธ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์—์ด์ „ํŠธ์— ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด gpg์˜ ๊ธฐ๋ณธ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์˜ณ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ๋Š” ๋” ๋‚˜์€ ์˜ต์…˜์ž…๋‹ˆ๋‹ค. ๋‚ด ์ปดํ“จํ„ฐ์—์„œ crypto ๋ฐ fcrypt ํ•ญ์ƒ ๋™์ผํ•œ ์—์ด์ „ํŠธ์— ์—ฐ๊ฒฐ๋˜๋ฉฐ ๋‚ด Yubikey์™€์˜ ํ†ตํ•ฉ์ด ๋งค์šฐ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์—์„œ ์šฐ๋ฆฌ๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ์—์ด์ „ํŠธ์˜ ๋‹จ์ผ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ณ„์† ์‹คํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” @ingwinlu๊ฐ€ ์ด์ „์— ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ํ™˜๊ฒฝ์„ ์ •๋ฆฌํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฌธ์ œ๋Š” ์šฐ๋ฆฌ๊ฐ€ ํ™˜๊ฒฝ์„ ์ •๋ฆฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋” ์ด์ƒํ•˜์ง€ ๋ง์•„์•ผํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฌธ์ œ๋Š” ๊ณ„์†๋ฉ๋‹ˆ๋‹ค

gpg-agent๊ฐ€ ํ™˜๊ฒฝ์„ ํ†ตํ•ด ํ†ต์‹ ํ•˜๋ ค๊ณ ํ•˜๋ฉด ๋ถ„๋ช…ํžˆ ์ž‘๋™ ํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ๋‹ค์Œ ํ…Œ์ŠคํŠธ ์‹คํ–‰์€ ์ด์ „์— ํ…Œ์ŠคํŠธ ์‹คํ–‰์œผ๋กœ ์„ค์ •๋œ ํ™˜๊ฒฝ์„ ๊ฐ€์ ธ ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ์˜ต์…˜์ด ๊ฐ€์žฅ ์ข‹์Šต๋‹ˆ๋‹ค.

  1. ์ปจํ…Œ์ด๋„ˆ ๋‚ด์—์„œ gpg ์—์ด์ „ํŠธ๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‹œ์ž‘ / ์ค‘์ง€ํ•˜๊ณ  gpg ์—์ด์ „ํŠธ๊ฐ€ ์‹คํ–‰๋˜์–ด์•ผํ•œ๋‹ค๊ณ  TESTING.md์— ๋ฌธ์„œํ™”ํ•ฉ๋‹ˆ๋‹ค (# 1888 ์ฐธ์กฐ).
  2. gpg ์—์ด์ „ํŠธ์˜ ์‹œ์ž‘์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  (.gnupg / gpg.conf์˜ "use-agent"๊ฐ€ ์ž‘๋™ํ•ด์•ผํ•˜์ง€๋งŒ ํ…Œ์ŠคํŠธํ•˜์ง€๋Š” ์•Š์Œ) TESTING.md์— ๋ฌธ์„œํ™”ํ•ฉ๋‹ˆ๋‹ค (# 1888 ์ฐธ์กฐ).

๋ฐ๋ชฌ์ด ์ด๋ฏธ ์‹œ์ž‘๋˜์—ˆ๋Š”์ง€ (๊ทธ๋ฆฌ๊ณ  env vars๋Š” ์ „์—ญ ์ ์ด ์ง€ ์•Š๊ณ  ํ”„๋กœ์„ธ์Šค์— ํŠน์ •ํ•œ์ง€) ์•Œ ์ˆ˜์žˆ๋Š” ๊ธ€๋กœ๋ฒŒ ๋ฐฉ๋ฒ•์—†์ด ํ•„์š”์— ๋”ฐ๋ผ ๋ฐ๋ชฌ์ด ์‹œ์ž‘๋˜๋Š” ์„ค์ •์ด ์†์ƒ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ํ…Œ์ŠคํŠธ ๋‚ด์—์„œ ์ด๊ฒƒ์„ ๊ณ ์น˜๋ ค๊ณ ํ•˜์ง€ ๋ง์•„์•ผํ•ฉ๋‹ˆ๋‹ค.

https://stackoverflow.com/questions/27459869/how-to-stop-gpg-2-1-spawning-many-agents-for-unit-testing

๋งŽ์€ ์—์ด์ „ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ด์œ ๋Š” --homedir ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋Š” ๋‹ค๋ฅธ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋‹จ์ผ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์‚ฌ์šฉ๋˜์—ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. GnuPG 2.1๋ถ€ํ„ฐ ์—์ด์ „ํŠธ์™€์˜ ๋ชจ๋“  ํ†ต์‹ ์€ GnuPG ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ์˜ ์†Œ์ผ“์„ ํ†ตํ•ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

homedir ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  https://dev.gnupg.org/T3218 ์€ stackoverflow์˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ "(๋งค์šฐ ์–ด์ƒ‰ํ•œ) ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•"์œผ๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๋‹จ์ˆœํžˆ gpg-agent๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด (์šฐ๋ฆฌ ํ™˜๊ฒฝ ๋‚ด์—์„œ ํ†ต์ œ ๋œ ๋ฐฉ์‹์œผ๋กœ) ๊ฐ€์žฅ ๋ฏธ๋ž˜ ๋ณด์žฅํ˜• ๋ณ€ํ˜• ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ๊ทผ ๋ฒ„์ „์—์„œ gpg-agent์˜ ์‹œ์ž‘์€ ๋” ์ด์ƒ ์„ ํƒ ์‚ฌํ•ญ์ด ์•„๋‹Œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. (๋‚ด ์˜ต์…˜ 2. ์œ„์˜ ๋ง๋„ ์•ˆ๋˜๋Š”)

homedir ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋„ค, ์–ด๋””์—์„œ ์™”๋Š”์ง€ ์ฐพ์ง€ ๋ชปํ–ˆ์ง€๋งŒ ๋ชจ๋“  ์—์ด์ „ํŠธ๊ฐ€ ๋‹ค๋ฅธ ์—์ด์ „ํŠธ๋กœ ์ƒ์„ฑ๋˜์—ˆ์œผ๋ฏ€๋กœ ๋ฌธ์ œ์™€ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.

์ข‹์€ ํžŒํŠธ์˜€์Šต๋‹ˆ๋‹ค. gpg-agent์˜ ์‹œ์ž‘์ด ๋” ์ด์ƒ ์„ ํƒ ์‚ฌํ•ญ์ด ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์šฐ๋ฆฌ๊ฐ€ ๊ทธ๊ฒƒ์„ ์‹œ์ž‘ํ•˜๊ณ  ๋ฉˆ์ถœ ํ•„์š”๊ฐ€ ์žˆ์Œ์„ ๋งค์šฐ ๋ถ„๋ช…ํ•˜๊ฒŒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์‹œ์ž‘์„ ํ”ผํ•˜๋ ค๊ณ ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

homedir ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์˜ˆ, ์–ด๋””์—์„œ ์™”๋Š”์ง€ ์ฐพ์ง€ ๋ชปํ–ˆ์ง€๋งŒ ๋ฌธ์ œ์™€ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค (op ์ฐธ์กฐ)

์šฐ๋ฆฌ๋Š” --home-dir ์˜ต์…˜์„ ๋ช…์‹œ ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š์ง€๋งŒ ps -ef ๋Š” gpg ์–ด์จŒ๋“  ์„ค์ • ํ•œ ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

https://wiki.archlinux.org/index.php/GnuPG

$ GNUPGHOME์€ GnuPG์—์„œ ๊ตฌ์„ฑ ํŒŒ์ผ์ด ์ €์žฅ๋œ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ $ GNUPGHOME์€ ์„ค์ •๋˜์ง€ ์•Š๊ณ  ๋Œ€์‹  $ HOME์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์„ค์น˜ ์งํ›„ ~ / .gnupg ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ธฐ๋ณธ ์œ„์น˜๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด gpg๋ฅผ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค. $ gpg --homedir path / to / file ๋˜๋Š” GNUPGHOME ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค.
```
@ petermax2 ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ์—์„œ HOME์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋˜ํ•œ ํฅ๋ฏธ๋กœ์šด https://www.gnupg.org/documentation/manuals/gnupg/Ephemeral-home-directories.html :

์ž„์‹œ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ํ•„์š”์— ๋งž๋Š” ๊ตฌ์„ฑ์„ ์ƒ์„ฑ (๋˜๋Š” ๋ณต์‚ฌ)ํ•˜๊ณ , gpg๊ฐ€ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ GNUPGHOME ๋˜๋Š” ์˜ต์…˜ --homedir์„ ์‚ฌ์šฉํ•˜์—ฌ์ด ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋กํ•ฉ๋‹ˆ๋‹ค. GPGME๋Š” ์ปจํ…์ŠคํŠธ์˜ ์—”์ง„ ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ ์ปจํ…์ŠคํŠธ๋ณ„๋กœ์ด๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ์›ํ•˜๋Š” ์ž‘์—…์„ ์‹คํ–‰ํ•˜๊ณ  ํ•„์š”์— ๋”ฐ๋ผ ํ‚ค ์ž๋ฃŒ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ๋‚ด ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์™„๋ฃŒ๋˜๋ฉด ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ์ž‘๋œ ๋ชจ๋“  GnuPG ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋Š”์ด๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

๋‚ด ์ปจํ…Œ์ด๋„ˆ์—์„œ ์ด๊ฒƒ์„ ํ…Œ์ŠคํŠธํ–ˆ์œผ๋ฉฐ ์•ฝ์†๋Œ€๋กœ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™์œผ๋กœ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.

@ petermax2 ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ์—์„œ HOME์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์˜ˆ, HOME ) ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

HOME = /tmp/elektra-test.3vLR4L

OK ๊ทธ๋ž˜์„œ ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ์˜ ๋ฌด์–ธ๊ฐ€๊ฐ€ HOME์„ tmp ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์žฌ์ •์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค (์ข‹์Šต๋‹ˆ๋‹ค). ์ •๋ฆฌ ์ค‘์— ์—ฌ์ „ํžˆ ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋Š” ๊ฒฝ์šฐ ์—์ด์ „ํŠธ๋ฅผ ์ค‘์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ฑฐํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ์ด์ƒ์ ์ธ ํ•ด๊ฒฐ์ฑ…์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

GNUPGHOME ๋งŒ ์„ค์ •ํ•˜๋ฉด gpg-agent ์ธ์Šคํ„ด์Šค๊ฐ€ ํ•˜๋‚˜๋งŒ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ๊ฐ€ ์‹œ์ž‘๋˜๊ธฐ ์ „์— GNUPGHOME ๋ฎ์–ด ์“ฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

GNUPGHOME ์„ค์ •ํ•˜๋ฉด ์—ฌ๋Ÿฌ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ ํ•œ ํ›„ ํ•˜๋‚˜์˜ gpg-agent ๋งŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ํ•ด๊ฒฐ์ฑ…์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๊ณต์œ ํ•˜๋ฉด ํ…Œ์ŠคํŠธ๋ฅผ ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰ํ•˜์ง€ ๋ชปํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๋‚˜์ค‘์— GNUPGHOME์„ ์‚ญ์ œํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค (๋กœ๊ทธ์ธ ํ•œ ์‚ฌ์šฉ์ž ๊ถŒํ•œ์— ๋Œ€ํ•ด ๋Š๋ฆฐ pgp-agent ์‘๋‹ต ํ˜ธ์ถœ์„ ์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ?).

๊ทธ๋ฆฌ๊ณ  ๋Œ€์ƒ ์‹œ์Šคํ…œ์ด GNUPGHOME์—์„œ ๋ฆด๋ ˆ์ดํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ๊ธฐ์กด ํ™˜๊ฒฝ์„ ์ €์žฅํ•˜๊ณ  ํ…Œ์ŠคํŠธ ํ›„ ์ˆ˜๋™์œผ๋กœ ๋ณต์›ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

ํ•œ ๋ฐœ ๋ฌผ๋Ÿฌ์„œ์„œ ์ด๋Ÿฌํ•œ ํ…Œ์ŠคํŠธ๊ฐ€ ํ…Œ์ŠคํŠธ ์„œ๋ฒ„ ํ™˜๊ฒฝ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‚ฌ์šฉ์ž ์‹œ์Šคํ…œ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ๋Š”์ง€ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ๋‹ค๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ๋ฅผ ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰ํ•˜์ง€ ๋ชปํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

#!/bin/bash
mkdir /tmp/x
export GNUPGHOME=/tmp/x
for run in {1..1000000}
do
    ctest -R crypto_openssl &
done

์•„๋ฌด ๋ฌธ์ œ์—†์ด. GPG๋Š” ์ž ๊ธˆ ๋“ฑ์„ ์ฒ˜๋ฆฌํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๋กœ๊ทธ์ธ ํ•œ ์‚ฌ์šฉ์ž ๊ถŒํ•œ์— ๋Œ€ํ•ด ๋Š๋ฆฐ pgp-agent ์‘๋‹ต ํ˜ธ์ถœ์„ ์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

์ด๊ฒƒ์ด gpg-agent ๊ฐ€ ์„ค๊ณ„๋œ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์„ธ์…˜์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ์˜์›ํžˆ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. PID๋ฅผ ์–ด๋–ค ๊ณณ์— ๊ธฐ๋กํ•˜์ง€ ์•Š์œผ๋ฉฐ ์ข…๋ฃŒ ๋ช…๋ น๋„ ์—†์Šต๋‹ˆ๋‹ค. SIGTERM ์—๋งŒ ๋ฐ˜์‘ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š”์— ์‹œ๋„ fork gpg-agent ์™€ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ๋‚ด์—์„œ --server ์˜ต์…˜, ์šฐ๋ฆฌ๋Š”์— PID์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค ๋•Œ๋ฌธ์— kill ์ดํ›„. ๊ทธ๋Ÿฌ๋‚˜ gpg-agent ๋Š” $GNUPGHOME ์—์„œ ํ•„์š”ํ•œ ์†Œ์ผ“์„ ์—ด์ง€ ์•Š๊ณ  ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋Š” ์—์ด์ „ํŠธ์˜ ๋‹ค๋ฅธ ์ธ์Šคํ„ด์Šค ( --daemon ๋ชจ๋“œ์—์„œ ์‹คํ–‰ ์ค‘์ž„)๋ฅผ ๋‹ค์‹œ ์—ฝ๋‹ˆ ๋‹ค. ๋˜ํ•œ --server ๋ชจ๋“œ์—์„œ gpg-agent ์†Œ์ผ“์„ ์—ฌ๋Š” ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค ( gpg-agent ์˜ ์†Œ์Šค ์ฝ”๋“œ๋กœ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค).

gpg-agent ์€ ํ†ต์ œํ•˜๊ธฐ ์–ด๋ ต๊ณ  ๊ฑฐ์˜ ๋ฌธ์„œํ™”๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. gpg-agent ์˜ ์†Œ์Šค ์ฝ”๋“œ๋„ ์ฝ์—ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ์‚ฌ์šฉ ์‚ฌ๋ก€๋Š” ๋‹ค๋ฃจ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์œ ์ผํ•œ ์˜ต์…˜์€ SIGTERM ์ž…๋‹ˆ๋‹ค.

๋ณ‘ํ–‰

๋‚˜๋Š” ๋‹น์‹ ์ด ์„œ๋กœ ์˜ํ–ฅ์„ ์ฃผ์–ด์„œ๋Š” ์•ˆ๋˜๋Š” gpg-agent๋ฅผ ๋ถ„๋ฆฌํ•˜๊ณ  ์‹ถ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์—์ด์ „ํŠธ a ๋งŒ ํ…Œ์ŠคํŠธ a์˜ ํ‚ค๋ฅผ ๊ฐ–๊ณ  ์—์ด์ „ํŠธ b๋Š” ํ…Œ์ŠคํŠธ b์˜ ํ‚ค๋ฅผ ๊ฐ–๊ธฐ๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค๋ฉด ํ•˜๋“œ ์ฝ”๋”ฉ ๋œ tmp ํ™ˆ์€ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.

gpg-agent ์ฃฝ์ด๊ธฐ

์ฒ˜์Œ ๋ฌธ์ œ๋ฅผ ์กฐ์‚ฌ ํ•  ๋•Œ ์ž„์‹œ gpg-agent๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ์˜ˆ์ƒ ๋ฐฉ๋ฒ•์€ gpg ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์–ธ๊ธ‰ ํ•œ ์›น ์‚ฌ์ดํŠธ (์œ„์— ๋งํฌ ๋จ)๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ GNUPGHOME์„ /tmp/elektra_tests/gpg ํ•˜๊ณ  ํ…Œ์ŠคํŠธ ์ •๋ฆฌ ์ค‘์—์ด tmp ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ญ์ œํ•˜๋ฉด ๊ดœ์ฐฎ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ GNUPGHOME์„ / tmp / elektra_tests / gpg๋กœ ์„ค์ •ํ•˜๊ณ  ํ…Œ์ŠคํŠธ ์ •๋ฆฌ ์ค‘์—์ด tmp ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ญ์ œํ•˜๋ฉด ๊ดœ์ฐฎ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํšจ๊ณผ๊ฐ€์žˆ๋‹ค! ์ด ์ˆ˜์ • ์‚ฌํ•ญ์„ crypto ๋ฐ fcrypt ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์— ํ†ตํ•ฉํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ํŒ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ž‘๋™ํ•˜๋Š” ํ”„๋กœํ†  ํƒ€์ž…์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด์ผ PR์ด์˜ต๋‹ˆ๋‹ค.

# 2056๋กœ ์ˆ˜์ •ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ๊ณ„์† ๋ฐœ์ƒํ•˜๋ฉด ๋‹ค์‹œ์—ฌ์‹ญ์‹œ์˜ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰

๊ด€๋ จ ๋ฌธ์ œ

mpranj picture mpranj  ยท  3์ฝ”๋ฉ˜ํŠธ

markus2330 picture markus2330  ยท  4์ฝ”๋ฉ˜ํŠธ

markus2330 picture markus2330  ยท  4์ฝ”๋ฉ˜ํŠธ

dominicjaeger picture dominicjaeger  ยท  3์ฝ”๋ฉ˜ํŠธ

markus2330 picture markus2330  ยท  4์ฝ”๋ฉ˜ํŠธ