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

141 行
8.8 KiB
HTML
Raw Blame 履歴

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

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

<!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" xml:lang="ja">
<head>
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
<meta name="author" content="テクニカル諏訪子" />
<meta name="description" 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>
<div class="jswarning" id="jswarning">注意JavsScriptはONです。安全・安心の為、JavaScriptをOFFにしてお願い致します。</div>
<script type="text/javascript">
document.getElementById('jswarning').style.display = 'block';
</script>
<div class="container">
<img src="/static/Eqjk_WgVQAE2psn-new.jpeg" class="header-img" alt="ヘッダー" />
<p>
<a href="/">トップ</a> |
<a href="/about/">自己紹介</a> |
<a href="/contact/">連絡先</a> |
<a href="/freelancer/">フリーランス</a> |
<a href="/service/">サービス</a> |
<a href="/webring/">リング</a> |
<a href="/i2pabout/">I2Pについて</a>
</p>
<p>
<a href="/blog.atom"><img src="/static/rssa.png" alt="RSS" />で登録</a> |
<a href="https://social.076.ne.jp/TechnicalSuwako"><img src="/static/mastodon.png" alt="Mastodon" />/<img src="/static/pleroma.png" alt="Pleroma" />でフォロー</a> |
<a href="https://video.076.ne.jp/c/technicalsuwako"><img src="/static/peertube.png" alt="PeerTube" />で登録</a> |
<a href="https://www.technicalsuwako.jp"><img src="/static/clearnet.png" alt="一般ネット" /></a> |
<a href="http://6qiatzlijtqo6giwvuhex5zgg3czzwrq5g6yick3stnn4xekw26zf7qd.onion/"><img src="/static/tor.png" alt="Tor" /></a> |
<a href="http://technicalsuwako.i2p/"><img src="/static/i2p.png" alt="I2P" /></a>
</p>
<p>
支援♡:
<a href="/support/monero/"><img src="/static/monero.png" alt="Monero" /></a> |
<a href="/support/wownero"><img src="/static/wownero.png" alt="Wownero" /></a> |
<a href="/support/bitcoin"><img src="/static/bitcoin.png" alt="Bitcoin" /></a>
</p>
<hr />
<div class="header">
<h1>【PHP】gnupgの許可なし</h1>
<a href="/">トップページに戻る</a>
<div class="info">
凜、
2021年12月03日
&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>
</div>
</div>
<hr />
<div>
<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>
</div>
<hr />
<a href="https://github.com/piranha/gostatic">gostatic</a>で創作しました。<a href="https://git.076.ne.jp/TechnicalSuwako/StaticSuwako"><img src="/static/git.png" alt="Git" /></a>
<a href="http://validator.w3.org/check?uri=https%3A%2F%2Fwww.technicalsuwako.jp%2F">
<img src="http://www.w3.org/Icons/valid-xhtml11" alt="Valid XHTML 1.1" height="31" width="88" />
</a>
<a href="https://jigsaw.w3.org/css-validator/validator?lang=ja&amp;profile=none&amp;uri=https%3A%2F%2Fwww.technicalsuwako.jp%2F&amp;usermedium=all&amp;vextwarning=&amp;warning=1">
<img style="border:0;width:88px;height:31px" src="https://jigsaw.w3.org/css-validator/images/vcss" alt="正当なCSSです!" />
</a>
<a href="https://anybrowser.org/campaign/images/button_enhanced.gif">
<img style="border:0;width:88px;height:31px" src="https://anybrowser.org/campaign/bvgraphics/any1.gif" alt="どっちでもブラウザで表示出来ます!" />
</a>
</div>
</body>
</html>