Linux 파일 권한은 애플리케이션이 파일을 읽을 수 있도록 허용하지만 사용자는 읽을 수 없도록 허용합니까?

Linux 파일 권한은 애플리케이션이 파일을 읽을 수 있도록 허용하지만 사용자는 읽을 수 없도록 허용합니까?

호출하는 사용자가 아닌 내 애플리케이션에서 이를 /var/www/config/config.json읽어야 합니다 myapp.com/config/config.json. 어떻게 해야 하나요?

답변1

두 가지 주요 방법이 있습니다. 하나는 웹 서버가 아닌 다른 사용자로 응용 프로그램을 실행하고 응용 프로그램을 실행하는 사용자만 읽을 수 있도록 파일에 대한 권한을 변경한 다음 웹 서버를 사용하여 응용 프로그램에 프록시하는 것입니다. 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해당 하위 프로세스가 파일에 액세스하지 못하도록 설정할 수 있습니다. 내가 실수로 나한테 이런 짓을 한 거야항상.

관련 정보