Linuxファイル権限は、アプリケーションがファイルを読み取ることを許可しますが、ユーザーは読み取ることができませんか?

Linuxファイル権限は、アプリケーションがファイルを読み取ることを許可しますが、ユーザーは読み取ることができませんか?

呼び出すユーザーではなく、私のアプリケーションからそれを/var/www/config/config.json読む必要がありますmyapp.com/config/config.json。どうすればいいですか?

答え1

2つの主な方法があります。 1 つは、Web サーバー以外のユーザーとしてアプリケーションを実行し、アプリケーションを実行しているユーザーのみが読み取れるようにファイルの権限を変更し、Web サーバーを使用してアプリケーションにプロキシすることです。nginx次のようにプロキシとして使用できます。

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass        http://localhost:1234;
        proxy_set_header  X-Real-IP  $remote_addr;
    }
}

それでも役に立たない場合は、Webサーバーから直接ブロックするように次の規則を設定できます。

location ~ /config\.json$ {
    deny all;
}

これは次のApacheを介して行うこともできます.htaccess

<Files ~ "config\.json$">
    Order allow,deny
    Deny from all
</Files>

答え2

SELinuxを使用している場合は、コンテキストを設定して、そのサブhttpdプロセスがファイルにアクセスできないように設定できます。私が誤って私にこのようなことをしました。いつも

関連情報