Jak utworzyć użytkownika SFTP dla root dokumentów serwera WWW
- 1752
- 56
- Seweryn Augustyniak
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.
- Zaczniemy od sprawdzenia bieżących uprawnień i własności VAR:
sudo ls -ld /var /
- 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 /
- Teraz użyj tego polecenia, aby ustawić prawidłową własność:
sudo chown root: root /var /
- Ponieważ ustawiliśmy „/var/www/” do katalogu chroot. Teraz ustaw właściwą własność katalogu Chroot:
sudo chown root: root/var/www/
- Aby umożliwić grupie napisać do katalogu głównego dokumentu, ustaw jego zgodę na 755:
sudo chmod 755/var/www/html/
- 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*
- 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 \;
- 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 \;
- 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 \;
Podobnie zastosuj te same uprawnienia do chroot:
sudo chmod 755/var/www/
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.
- « Jak używać zmiennych środowiskowych w węźle.JS
- Jak instalować i przełączać środowiska stacjonarne w Ubuntu »