ルートが所有するディレクトリへのシンボリックリンクを作成するにはどうすればよいですか?


1

CertBotを使用してスタンドアロンの安全な証明書を設定し./public/certbot、サーバーのシンボリックリンク()を作成して、実際にサーバーのディレクトリツリーの下に証明書を含めることができるようにします(これはテストに使用するLinodeです開発のため、さまざまなサーバーソフトウェアを使用します)。証明書はの下/etc/letsencrypt/に正常にインストールされ、CertBotのドキュメントで指示されいるように、インストールはを使用して行われたsudoため、すべてのファイルはルートが所有しています。サーバーが読み取れるシンボリックリンクを作成するために考えられるすべてを試しましたが、許可エラーが発生し続けます。現在、シンボリックリンクファイル、/etc/letsencrypt/liveドメインフォルダ、およびドメインフォルダ内のすべてのファイルがされているsudo chmodにDED777、およびなしsudoでsymlinkファイルを作成しようとしましたが、許可されませんでした。通常のユーザーとして、なしでcdsymlinkファイルとlsドメインフォルダーsudoにアクセスできるため、そこにあるすべてのものを見ることができますが、サーバーを起動すると(現在webpack-dev-server)、許可がありません。サーバーからのエラーメッセージは、パスが正しく解決されていることを示しています(アクセスエラーではなく、アクセスエラーが発生しているためENOENT)。

またpublic/certbot、同じエラーで、実際のフォルダーと証明書ファイルへの個別のシンボリックリンクを作成しようとしました。

Linuxの許可についての私の知識には、ある程度のギャップがあるはずです。これを回避する方法はありますか?ありがとう。

回答:


0

実際にサーバーのディレクトリツリーの下にない証明書を含めることができるように

ほとんどのソフトウェアにはそもそもこの要件がなく、 `/ etc / letsencrypt / liveから直接証明書に直接アクセスできます。

あなたの現在の問題は、ファイルのアクセス権やchrootをによって引き起こされるかどうかは、このシンボリックリンクは、それに役立つことはありませんまったく。/ etc / letsencrypt / live / foo /privkey.pemへのシンボリックリンクをたどるのに十分な権限がある場合は、同じファイルに直接アクセスするための十分な権限もあります。

現在、シンボリックリンクファイル…

「シンボリックファイル」のアクセス許可は無関係であり、Linuxでは変更できません。それらは常に "lrwxrwxrwx"として報告されますが、重要なのはターゲットファイルのみであり、シンボリックリンクではありません。

…/ etc / letsencrypt / live、ドメインフォルダー、およびドメインフォルダー内のすべてのファイル、…

以下のファイルをご覧ください/etc/letsencrypt/live。それら自体がさらに別のディレクトリへのシンボリックリンクであることに注意してくださいarchive。また、そのディレクトリはデフォルトでは誰でも読み取り可能です。

を使用namei -l ./public/certbot/example.com/privkey.pemして、パス内のすべてのコンポーネント(シンボリックリンクの解決を含む)とその権限をすばやく確認します。

…777にsudo chmoddedされています。

ハンマーで権限の問題を「解決」しようとしないでください。これらのフォルダへの書き込み許可を全員に与えることはまったく不要です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.