Intereting Posts
Как найти причину слишком много выпадающих соединений SSH? Модули ядра: .o vs .ko Нет разрешения DNS после обновления с ubuntu 14.04 до 16.04 Как переназначить мой ключ CapsLock для работы, как если бы это был ключ Return с помощью setxkbmap? Не удалось подключить внешний USB-накопитель из-за GPT на debian Как использовать touch для установки измененной / созданной временной метки файла? Есть ли команда для переключения на режим vicmd в zsh? Как разрешить приложению на основе Java связываться с низким портом Как использовать Caja (файловый менеджер) для организации файлов и папок в Интернете? Почему я могу войти в систему с удаленного хоста без пароля или закрытого ключа? Странное поведение cron на @reboot Были ли все команды Unix переписаны в Linux? Как переместить каталог в существующий каталог? Как пользователь, не являющийся пользователем, я могу удалить файл, созданный root, с разрешениями 0444? Установите фиксированное разрешение экрана для приложения в Wine

Есть ли доступ к файлу Linux, который позволяет приложению читать файл, но не пользователь?

Мне нужно /var/www/config/config.json читать мое приложение, но не пользователи, вызывающие myapp.com/config/config.json . Как мне это сделать?

Существует два основных метода. Один из них заключается в том, чтобы запускать ваше приложение в качестве другого пользователя с вашего веб-сервера, изменять разрешения на файлы, чтобы их можно было прочитать только пользователю, выполняющему приложение, а затем прокси-серверу с помощью вашего веб-сервера. Вы можете использовать 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> 

Если вы используете SELinux, вы можете установить контекст, чтобы остановить httpd и его подпроцессы от доступа к файлу. Я случайно делаю это для себя все время .