Я думаю, что неправильно понимаю что-то фундаментальное в правах доступа к файлам в приложении OpenShift PHP. Как они на самом деле работают?
Я разрабатываю на OSX и вношу изменения с помощью SourceTree. Когда я вхожу в приложение через программу SFTP (Cyberduck), файл index.php показывает, что его разрешения установлены на 600, но посетители могут просматривать его в браузере.
Это меня удивляет, так как я думал, что для просмотра файла потребуются разрешения 644 (например, веб-сервер Apache).
В OpenShift кажется, что права доступа к файлам 600, 640 и 644 эквивалентны. Это правильно, или я что-то не так делаю?
Связано: в моем приложении OpenShift есть папка cgi-bin, содержащая программу cgi, которую следует запускать (вызывать) только из файла PHP. Другими словами, любой PHP-скрипт должен иметь возможность вызывать эту cgi-программу, но посетитель, пытающийся открыть папку cgi-bin напрямую, не должен этого делать.
Я установил разрешения для папки cgi-bin и файла программы cgi на 700 (таким образом, только «владелец» имеет права на чтение/запись/выполнение, а разрешения для «группы» и «других» не предоставляются). Однако посетители по-прежнему могут напрямую переходить по URL-адресу программы и выполнять ее (например, www.example.com/cgi-bin/program.cgi) — как если бы разрешения были 777. Как мне решить эту проблему?