CHMODy mają się NIJAK do tego, co klient może z plikami, bo nie może nic, bez względu na nie. Poza tym chmody odnoszą się do użytkowników systemowych, czyli do wewnętrznej konfiguracji serwera dedykowanego lub VPSa na którym serwer stoi.
Zwykle na hostingach wygląda to tak, że użytkownik
FTP jest ten sam, co użytkownik serwera
HLDS. Wtedy 600 daje pełne prawa dla serwera do odczytu i zapisu pliku (700 dla katalogów, 700 dla plików się nie opłaca ustawiać, bo dla
HLDS nie zrobi to różnicy żadnej, ale może umożliwić ataki z zewnątrz poprzez wadliwą infrastrukturę hostingu). 700 powinny mieć w takim wypadku wyłącznie katalogi i pliki binarne serwera (w katalogu głównym, powyżej katalogu cstrike).
Na PORZĄDNYCH hostingach użytkownik
FTP jest inny od użytkownika
HLDS, ale są w tej samej grupie. Co oznacza, że 660 daje możliwość zapisu i odczytu dla serwera (770 dla katalogów). Tutaj masz już możliwość ustawienia praw 640, aby serwer mógł tylko odczytać niektóre pliki i katalogi, co zapobiega wykorzystywaniu niektórych dziur w HLDSie. Aby jednak takie ograniczenie zadziałało, właścicielem plików musi być użytkownik
FTP (czyli plik musi zostać utworzony z poziomu
FTP, a nie automatycznie przez
HLDS). Dodatkowo w jednej grupie są wyłącznie użytkownicy do zarządzania tym samym serwerem, dzięki czemu właściciel innego serwera na tym samym hostingu nie ma dostępu do Twoich plików.
Na BADZIEWNYCH hostingach, od których należy od razu uciekać, użytkownik
FTP jest inny od użytkownika
HLDS i należą oni do OSOBNYCH grup. Przez co, aby serwer mógł odczytywać i zapisywać pliki, musimy dać chmody 666, co daje dostęp do naszych plików właścicielom innych serwerów na tym samym hostingu, więc ktoś wykupując sobie serwer na takim hostingu może dodawać sobie admina na wszystkich innych serwerach!
Dlatego ostatnia cyfra powinna być ZAWSZE ustawiona na 0, porządniejsze hostingi to wymuszają, albo przynajmniej ustawiają dla domyślnie tworzonych plików.
Poza tym we fragmencie pluginu, który przedstawiłeś nie ma ANI JEDNEJ linijki, która potrzebuje ZAPISU do pliku, jest sam odczyt. Więc albo pokaż gdzie próbujesz zapisać do tego pliku w pluginie, albo daj sobie spokój z chmodami, bo nie to robisz źle.