Linux 文件权限是否允许应用程序读取文件但不允许用户读取?

Linux 文件权限是否允许应用程序读取文件但不允许用户读取?

我需要/var/www/config/config.json由我的应用程序读取,而不是由调用的用户读取myapp.com/config/config.json。我该怎么做呢?

答案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;
    }
}

如果这对您没有好处,您可以设置如下规则,让您的网络服务器直接阻止它们:

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

这也可以通过 Apache 来完成,在您的.htaccess

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

答案2

如果您使用 SELinux,您可以将上下文设置为停止httpd及其子进程访问该文件。我不小心对自己做了这样的事每时每刻

相关内容