Я использую свой простой веб-сервис в Linux, используя Apache, CGI (C ++) и Flat File (Data).
Я сохранил свой путь местоположения WWW в пути местоположения CGI /usr/share/www/ в /usr/lib/cgi-bin/ Данные путь в /usr/share/Data/
Я просто хотел получить доступ к моим файлам, расположенным в WWW и Data, только через мой сервер Apache и приложение CGI. Иногда я обновляю свои файлы данных, иногда я копирую файл из папки «Данные в WWW» с помощью приложения CGI. Важно, чтобы мои файлы данных должны были получить доступ к моему приложению CGI не любым другим путем любой ценой. Поэтому я решил дать разрешение и владение, как и после. Но он не смог скопировать файл из Data в WWW Folder.
sudo chmod 644 -R /usr/share/Data/
sudo chown www-data /usr/share/Data/
Не работает копирование файла из Data в WWW с помощью моего приложения CGI. Какое разрешение я должен предоставить для вышеуказанных трех местоположений (WWW, CGI, Data) для защиты моего веб-сервиса.
Моя конфигурация Apache:
<VirtualHost *:80>
ServerName www.mytestsite.com
ServerAdmin webmaster@localhost
DocumentRoot /usr/share/www/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin/">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Require all granted
</Directory>
<Directory /usr/share/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet