technicalsuwako.moe/www/blog/php-gnupg-no-permission/index.html

127 行
9.5 KiB
HTML
Raw Blame 履歴

このファイルには曖昧(ambiguous)なUnicode文字が含まれています

このファイルには、他の文字と見間違える可能性があるUnicode文字が含まれています。 それが意図的なものと考えられる場合は、この警告を無視して構いません。 それらの文字を表示するにはエスケープボタンを使用します。

<article>
<header>
<h1>【PHP】gnupgの許可なし</h1>
<a href="/">トップページに戻る</a>
<div class="info">
<time datetime="2021-12-03T00:00:00Z">
2021年12月03日
</time>
&mdash;
<a href="/tags/jp/">jp</a>,
<a href="/tags/blog/">blog</a>,
<a href="/tags/php/">php</a>,
<a href="/tags/gnupg/">gnupg</a>,
<a href="/tags/linux/">linux</a>
<hr />
</div>
</header>
<section>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd" lang="ja" xml:lang="ja">
<head>
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
<meta name="author" content="テクニカル諏訪子" />
<link rel="alternate" type="application/atom+xml" title="テクニカル諏訪子 feed" href="../../blog.atom" />
<title>テクニカル諏訪子: 【PHP】gnupgの許可なし</title>
<link rel="stylesheet" type="text/css" href="../../static/style.css" />
</head>
<body>
<pre style="background-color: transparent !important; padding: 0; color: #ea81e8;">
l,. .''' ;;;;;;................. .;;;;;;; .OOx
cOOxxxxxxxxxxkOO 0MMK OMM0 ;xx: 'xxd 0MMMMMMMMMMMMMMM 'MMX MMMMMMMMMMMMMMMMMX:
KMMMNdddddxkd' .dddddddddddddddd 0MMo oMMo ,MMX kkkkkkkk dMX MMc kkkkkkkkkd:kkkkXMMMkkkkk. .WMMMd
oMMW ;MMMl ,MMMMMMMMMMMMMMMM KNNNNNNMMMMNNNNNNMK' oMMo ,MMX dMMckMMcKKKKKN0 .MMN ;cOWM0
;ooccccccccccccccccloo .xMMM. XMMK .MMM OMM' xMM: ,MMX NNNNNN' dMX .MMcOX, KMO oNNNNNNN .MM0 .MMN
xMMMMMMMMMMMMMMMMMMMMM ;0MMM. 0MMX ;MMk 0MM. KMM' ,MMX ::::::. dMX MMcdMx MM; .::::::: ;MMMKKKKKK. ',,,,,,,,,xMMM,,,,,,,,,,
.MMM. .KMM0 WMM MMM MMM. ,MMX 'd dMMOKMMc.MMdMM KMM. xMM. KMMMMMMMMMMMMMMMMMMMMMMM.
0MMK oMMM. .WMM' MMM kMMX ,MMX ,OMMd oooooo. dMX .MMc 0MMMo cooooooo .MMK xMM. .MMN
lMMM ,kWMMl ,llc::::::::::::::cll oMMM. lMM0 dMMM. ,MMM,oXMMO MM. XM; dMX lMMc MMW KMK cMM KMM. XMM .MMN
,OMMX 'cxNMMM dMMMMMMMMMMMMMMMMMMMM. .oWMMo occcoMMM. .OMMX ;MMMMMM MM XM:dWMMMMMMc OMMMo KMK :MM KMM: MMW .MMN
.NMMk MMMMo OM' xMMMMMx 0M kMx MMXKMM; .MMNKMl MM0 KMMKKWMMxWMM coo0MMc loooKMMk
XX: . .. .MWO;
</pre>
<p>
<a href="/">トップ</a> |
<a href="/about/">自己紹介</a> |
<a href="/contact/">連絡先</a> |
<a href="/support/">支援♡</a> |
<a href="/service/">サービス</a> |
<a href="/blog.atom">RSSで登録</a> |
<a href="https://social.076.ne.jp">Pleromaでフォロー</a> |
<a href="https://video.076.ne.jp">PeerTubeで登録</a> |
<a href="https://www.technicalsuwako.jp">一般ネット</a> |
<a href="http://6qiatzlijtqo6giwvuhex5zgg3czzwrq5g6yick3stnn4xekw26zf7qd.onion/">Tor</a> |
<a href="http://4oymiquy7qobjgx36tejs35zeqt24qpemsnzgtfeswmrw6csxbkq.b32.i2p/">I2P</a>
</p>
<hr />
<p>シェルでgpgを実行出来ますが、PHPから実行すると、「<code>false</code>」が出ました。</p>
<pre style="background-color:#f8f8f8;overflow-x: auto"><code><span style="color:#b8860b">$gpg</span> <span style="color:#666">=</span> <span style="color:#a2f;font-weight:bold">new</span> \gnupg();
<span style="color:#b8860b">$info</span> <span style="color:#666">=</span> <span style="color:#b8860b">$gpg</span><span style="color:#666">-&gt;</span><span style="color:#b44">import</span>(<span style="color:#b8860b">$this</span><span style="color:#666">-&gt;</span><span style="color:#b44">field</span>[<span style="color:#b44">&#39;gpg&#39;</span>]);
dd(<span style="color:#b8860b">$info</span>);
</code></pre><pre style="background-color:#f8f8f8;overflow-x: auto"><code>false
</code></pre><p>nginxとして「<code>gpg</code>」を実行すると、「<code>/var/www/.gnupg</code>」にアクセス出来ないみたいです。</p>
<pre style="background-color:#f8f8f8;overflow-x: auto"><code>su nginx -s /bin/bash -c <span style="color:#b44">&#34;gpg&#34;</span>
</code></pre><pre style="background-color:#f8f8f8;overflow-x: auto"><code>gpg: failed to create temporary file &#39;/var/www/.gnupg/.#lk0x0000555c891701e0.webserver.076.ne.jp.5216&#39;: 許可がありません
gpg: keyblock リソース&#39;/var/www/.gnupg/pubring.kbx&#39;: 許可がありません
</code></pre><h2 id="nginxls">ですから、「nginxとしてlsを実行出来るかな?」と思いましたら</h2>
<pre style="background-color:#f8f8f8;overflow-x: auto"><code>su nginx -s /bin/bash -c <span style="color:#b44">&#34;ls -thal ~/.gnupg&#34;</span>
</code></pre><pre style="background-color:#f8f8f8;overflow-x: auto"><code>ls: ディレクトリ &#39;/var/www/.gnupg/S.gpg-agent.extra&#39; を開くことが出来ません: 許可がありません
ls: ディレクトリ &#39;/var/www/.gnupg/..&#39; を開くことが出来ません: 許可がありません
ls: ディレクトリ &#39;/var/www/.gnupg/random_seed&#39; を開くことが出来ません: 許可がありません
ls: ディレクトリ &#39;/var/www/.gnupg/.&#39; を開くことが出来ません: 許可がありません
ls: ディレクトリ &#39;/var/www/.gnupg/S.gpg-agent&#39; を開くことが出来ません: 許可がありません
ls: ディレクトリ &#39;/var/www/.gnupg/S.gpg-agent.browser&#39; を開くことが出来ません: 許可がありません
ls: ディレクトリ &#39;/var/www/.gnupg/pubring.kbx~&#39; を開くことが出来ません: 許可がありません
ls: ディレクトリ &#39;/var/www/.gnupg/S.gpg-agent.ssh&#39; を開くことが出来ません: 許可がありません
ls: ディレクトリ &#39;/var/www/.gnupg/.#lk0x000055cce51f19c0.webserver.076.ne.jp.15948&#39; を開くことが出来ません: 許可がありません
ls: ディレクトリ &#39;/var/www/.gnupg/pubring.kbx&#39; を開くことが出来ません: 許可がありません
ls: ディレクトリ &#39;/var/www/.gnupg/private-keys-v1.d&#39; を開くことが出来ません: 許可がありません
ls: ディレクトリ &#39;/var/www/.gnupg/trustdb.gpg&#39; を開くことが出来ません: 許可がありません
合計 0
d????????? ? ? ? ? ? .
-????????? ? ? ? ? ? .#lk0x000055cce51f19c0.webserver.076.ne.jp.15948
d????????? ? ? ? ? ? ..
s????????? ? ? ? ? ? S.gpg-agent
s????????? ? ? ? ? ? S.gpg-agent.browser
s????????? ? ? ? ? ? S.gpg-agent.extra
s????????? ? ? ? ? ? S.gpg-agent.ssh
d????????? ? ? ? ? ? private-keys-v1.d
-????????? ? ? ? ? ? pubring.kbx
-????????? ? ? ? ? ? pubring.kbx~
-????????? ? ? ? ? ? random_seed
-????????? ? ? ? ? ? trustdb.gpg
</code></pre><p><code>chmod 700</code>」だけは十分だと思いますが、万が一解決しなければ、このフォルダを削除すると、nginxとして作成します。</p>
<pre style="background-color:#f8f8f8;overflow-x: auto"><code>rm -rf /var/www/.gnupg
su nginx -s /bin/bash -c <span style="color:#b44">&#34;mkdir ~/.gnupg&#34;</span>
chmod <span style="color:#666">700</span> /var/www/.gnupg
</code></pre><h2 id="nginxls-1">もう一回nginxとしてlsコマンドを実行すると</h2>
<pre style="background-color:#f8f8f8;overflow-x: auto"><code>su nginx -s /bin/bash -c <span style="color:#b44">&#34;ls -thal ~/.gnupg&#34;</span>
</code></pre><pre style="background-color:#f8f8f8;overflow-x: auto"><code>合計 28K
drwx------ 3 nginx nginx 4.0K Dec 3 14:08 .
-rw------- 1 nginx nginx 600 Dec 3 14:08 random_seed
srwx------ 1 nginx nginx 0 Dec 3 14:03 S.gpg-agent
srwx------ 1 nginx nginx 0 Dec 3 14:03 S.gpg-agent.browser
srwx------ 1 nginx nginx 0 Dec 3 14:03 S.gpg-agent.extra
srwx------ 1 nginx nginx 0 Dec 3 14:03 S.gpg-agent.ssh
drwx------ 2 nginx nginx 4.0K Dec 3 14:03 private-keys-v1.d
-rw-r--r-- 1 nginx nginx 2.0K Dec 3 14:03 pubring.kbx
-rw------- 1 nginx nginx 32 Dec 3 14:03 pubring.kbx~
-rw------- 1 nginx nginx 1.2K Dec 3 14:03 trustdb.gpg
drwxr-xr-x 4 nginx nginx 4.0K Dec 3 14:03 ..
</code></pre><p>PHPでも解決されました</p>
<p>以上</p>
<hr />
<a href="https://github.com/piranha/gostatic">gostatic</a>で創作しました。<a href="https://git.076.ne.jp/TechnicalSuwako/StaticSuwako">Git</a>
</body>
</html>
</section>
</article>