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

127 行
7.8 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="テクニカル諏訪子" />
<meta name="description" content="デジタル自主のロリ神様" />
<meta property="og:title" content="テクニカル諏訪子" />
<meta property="og:type" content="website" />
<meta property="og:locale" content="ja_JP" />
<meta property="og:site_name" content="テクニカル諏訪子" />
<meta property="og:url" content="http://6qiatzlijtqo6giwvuhex5zgg3czzwrq5g6yick3stnn4xekw26zf7qd.onion/blog/php-gnupg-no-permission/" />
<meta property="og:image" content="../../static/lolilolisuwa.jpg" />
<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="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="/support/">支援♡</a> |
<a href="/service/">サービス</a> |
<a href="/i2pabout/">I2Pについて</a>
</p>
<p>
<a href="/blog.atom">RSSで登録</a> |
<a href="https://social.076.ne.jp/TechnicalSuwako">Pleromaでフォロー</a> |
<a href="https://video.076.ne.jp/c/technicalsuwako">PeerTubeで登録</a> |
<a href="https://www.technicalsuwako.jp">一般ネット</a> |
<a href="http://6qiatzlijtqo6giwvuhex5zgg3czzwrq5g6yick3stnn4xekw26zf7qd.onion/">Tor</a> |
<a href="http://technicalsuwako.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>
</div>
</body>
</html>
</section>
</article>