Jak utworzyć użytkownika SFTP dla root dokumentów serwera WWW

Jak utworzyć użytkownika SFTP dla root dokumentów serwera WWW

SFTP (SSH/Secure File Transfer Protocol) to standard transmisji sieciowej używany do przesyłania, uzyskiwania dostępu i zarządzania plikami przez zdalną sieć. Zawiera SSH (Secure Shell), co czyni go znacznie bezpieczniejszym niż protokół FTP.

Pliki są przesyłane przez pojedynczy kanał sterujący w SFTP. Wymaga uwierzytelnienia i działa na porcie 22. W SFTP powłoka SSH zapewnia szyfrowanie, które pomaga chronić nazwy użytkowników, hasła i inne dane osobowe przesyłane przez SFTP.

W tym instrukcji instruktażowej nauczymy się tworzyć użytkowników SFTP dla root dokumentów serwera WWW.

Krok 1 - Instalowanie SSH (Secure Shell)

SFTP jest bardzo bezpiecznym protokołem przesyłania plików ze względu na szyfrowanie, które SSH zapewnia dane, ponieważ są one przesyłane przez sieć. SSH jest domyślnie instalowany głównie w rozkładach Linux, ale jeśli nie jest wstępnie zainstalowany w systemie, możesz użyć komendy poniżej, aby je zainstalować:

sudo apt instal ssh  

Jeśli zostanie już zainstalowane, polecenie uaktualni pakiety OpenSSH.

Krok 2 - Konfigurowanie SSH do korzystania z kodu serwera SFTP

Teraz otwórz plik konfiguracyjny SSH w edytorze tekstu, aby zmodyfikować go dla kodu serwera SFTP. Tutaj użyjemy edytora Nano do edytowania pliku konfiguracyjnego.

sudo nano/etc/ssh/sshd_config  

Znajdź linię zaczynając od „Podsystem SFTP”.

Skomentuj linię, dodając # na początku wiersza i napisz następujący wiersz po tym wierszu, jak pokazano na zrzucie ekranu podanym poniżej:

Podsystem SFTP wewnętrzny-SFTP 

SSHD użyje kodu serwera SFTP zamiast uruchamiania serwera SFTP, zmieniając powyższą linię.

Po zmianie pliku konfiguracyjnego zapisz plik i wyjdź z niego za pomocą klawisze skrótów klawiatury Ctrl+S i Ctrl+x.

Po zmianach musimy zrestartować demona SSHD, aby zmiany działały.

sudo systemctl restart sshd  

Krok 3 - Tworzenie użytkownika (użytkownika SFTP)

Jest to doskonała praktyka do tworzenia nowego użytkownika, który ma tylko dostęp SFTP do root dokumentów. Nie zaleca się dodawania użytkownika z uprawnieniami sudo do korzenia dokumentu WebServer. Utwórz nowego użytkownika za pomocą polecenia Adduser:

sudo adduser sftpuser  

Terminal poprosi o kilka rzeczy, takich jak ustawienie hasła i informacje o użytkowniku. Poprosi również o kilka innych szczegółów, więc albo zostaw im puste, albo podaj odpowiednie informacje.

Nowy użytkownik o nazwie sftpuser jest pomyślnie stworzony.

Krok 4 - Tworzenie dyrektywy użytkownika dopasowania w pliku konfiguracyjnym SSH

Teraz ograniczymy tego użytkownika do głównego dokumentu, a także wyłączymy dostęp użytkownika do SSH, aby użytkownik zalogował się przez SFTP.

Aby ograniczyć dostęp użytkownika, otwórz plik konfiguracyjny SSH w dowolnym edytorze tekstu:

sudo nano/etc/ssh/sshd_config  

Teraz przejdź do końca pliku i dodaj następującą zawartość w pliku konfiguracyjnym „sshd_config”:

Dopasuj użytkownika sftpuser forceCommand Internal-SFTP chrootdirectory/var/www/hasło 

Pamiętaj, aby zastąpić nazwę użytkownika „sftpuser” na ustawioną nazwę użytkownika.

Po dodaniu powyższej zawartości do pliku konfiguracyjnego SSH zapisz i wyjdź za pomocą klawiszy skrótów Ctrl+S i Ctrl+x.

Aby sprawdzić składnię i sprawdzić, czy wszystko poszło dobrze, możesz wykonać polecenie:

sudo sshd -t  

Jeśli nie wystąpił błąd, moglibyśmy ponownie załadować usługę SSH za zmiany w pracy.

sudo systemctl restart sshd  

Krok 5 - Dodanie użytkownika SFTP do grupy WWW -DATA

Teraz dodamy użytkownika do grupy WWW-DATA, wykonując następujące polecenie:

sudo usermod -a -g www -data sftpuser  

Podczas udanego przebiegu nie wyświetli się żadne wyjście.

Krok 6 - Ustawienie zgody katalogu głównego dokumentu

Proszę bardzo dokładnie postępować zgodnie z kolejnymi instrukcjami, ponieważ SFTP jest bardzo surowe w odniesieniu do uprawnień do katalogu chroot.

  1. Zaczniemy od sprawdzenia bieżących uprawnień i własności VAR:
    sudo ls -ld /var /  
  2. Uprawnienia powinny wynosić 755, a właściciel powinien być domyślnie zakorzeniony. Jeśli nie, wykonaj podane poniżej polecenie, aby ustawić odpowiednie uprawnienia:
    sudo chmod 755 /var /  
  3. Teraz użyj tego polecenia, aby ustawić prawidłową własność:
    sudo chown root: root /var /  
  4. Podobnie zastosuj te same uprawnienia do chroot:

    sudo chmod 755/var/www/  
  5. Ponieważ ustawiliśmy „/var/www/” do katalogu chroot. Teraz ustaw właściwą własność katalogu Chroot:
    sudo chown root: root/var/www/  
  6. Aby umożliwić grupie napisać do katalogu głównego dokumentu, ustaw jego zgodę na 755:
    sudo chmod 755/var/www/html/  
  7. Aby przyznać własność dokumentu „/var/www/html” root oraz jego dalsze katalogi i pliki do grupy WWW-DATA, użyj komendy poniżej:
    sudo chown -r www-data: www-data/var/www/html*  
  8. Teraz podaj 755 uprawnień do zawartości umieszczonej w dokumencie „/var/www/html” za pomocą polecenia:
    sudo find/var/www/html/-type d -exec chmod 775  \;  
  9. Powyższe polecenie zapewni uprawnienia użytkownika SFTP, zapisu i wykonywalne.

    Musimy również przekazać 664 uprawnienia do wszystkich plików obecnych w dokumencie, aby umożliwić grupie właściciela i grupie użytkowników SFTP na czytanie i zapisanie plików:

    sudo find/var/www/html/-type f -exec chmod 664  \;  
  10. Teraz dla ostatniego kroku upewnij się, że wszystkie nowe pliki i katalogi nabywają grupę WWW-DATA, która została utworzona nowo utworzonym użytkownikiem SFTP:
    sudo find/var/www/html -type d -exec chmod g+s  \;  

Gratulacje! Twój nowy użytkownik SFTP został utworzony i dodany do głównego dokumentu WebServer. Możesz teraz zalogować się do SFTP.

Wniosek

W tym instrukcji instruktażowej nauczyliśmy się instalacji i konfigurowania SSH do używania kodu serwera SFTP. Następnie utworzyliśmy nowego użytkownika, ograniczyliśmy go do dokumentowania root i wyłączyliśmy dostęp do SSH. Następnie dodaliśmy użytkownika do głównego dokumentu WebServer, aby umożliwić użytkownikowi odczytanie, zapisanie i wykonywanie plików w głównym dokumencie.