Jedną z najważniejszych funkcji w klientach SSH jest rekursywna zmiana uprawnień dostępu do plików (a więc chmod).
Jak jej dokonać na linuksowych systemach, na których stoją Wasze serwery?
Po przejściu do wybranego katalogu na wybranym użytkowniku wpisujemy komendę:
Chown user:user * -R
Przy czym pierwszy user oznacza grupę, a drugi user właściciela (nazwy te najczęściej są takie same).
Co oznacza rekursywna zmiana uprawnień?
Wskazana wyżej komenda oznacza, że zmian, które dokonamy na danym katalogu, nastąpią również dziedzicznie w podfolderach i plikach w danej lokalizacji.
Jeśli będąc w ścieżce: home/user/folder1 wywołamy podaną wyżej komendę to zmiany właściciela oraz grupy dokonamy na wszystkich plikach i folderach wewnątrz tej ścieżki.
Jeśli plik znajdujący się w: home/user/folder1/strona-internetowa/plik-www.jpg posiadał wcześniej właściciela „userxyz”, to teraz będzie już posiadał właściciela o nazwie „user”.
Rekursywna zmiana chmod nie zmieni uprawnień dla folderów i plików powyżej tej ścieżki.
Czego potrzeba do wykonania zmian poprzez SSH?
Oczywiście w pierwszej kolejności danych dostępowych do serwera. Pamiętaj, że nie każdy usługodawca udostępni Tobie logowanie poprzez SSH. Jeśli posiadasz hosting współdzielony to jest to mało prawdopodobne. Dobre VPS-y powinny mieć już takie dostępy, a serwery dedykowane tym bardziej.
Program, którego ja używam i osobiście polecam, to mRemoteNG – do pobrania tutaj -> https://mremoteng.org/
Program ten jest darmowy i regularnie aktualizowany, a dzięki temu bezpieczny. Możemy w nim zapisać dane do logowania do różnych serwerów, do których mamy dostęp.
Kiedy może się przydać zmiana chmod?
Najczęściej potrzeba taka wynika, gdy kopiujemy na serwerze poprzez SSH duże paczki plików pomiędzy użytkownikami (userami). Po takiej kopii uprawnienia do folderów oraz plików zostają przydzielone na podstawie poprzedniego właściciela. Co oczywiście nie jest właściwe z technicznego punktu widzenia i będzie powodowało szereg problemów, włącznie z brakiem dostępu do skryptów.