Jak ograniczyć użytkowników SFTP do katalogów domowych za pomocą więzienia Chroot

Jak ograniczyć użytkowników SFTP do katalogów domowych za pomocą więzienia Chroot

W tym samouczku będziemy omawiać, jak ograniczyć Sftp użytkownicy do ich katalogów domowych lub konkretnych katalogów. Oznacza to, że użytkownik może uzyskać dostęp tylko do jego/jej katalogu domowego, a nie całego systemu plików.

Ograniczanie użytkowników katalogów domowych jest niezbędne, szczególnie w środowisku współdzielonego serwera, dzięki czemu nieautoryzowany użytkownik nie zaprezentował się do plików i folderów drugiego użytkownika.

Ważny: Należy również pamiętać, że celem tego artykułu jest dostarczenie wyłącznie dostępu do SFTP, a nie loginów SSH, poprzez ten artykuł będzie miał uprawnienia do przesyłania plików, ale nie wolno wykonywać zdalnej sesji SSH SSH.

Sugerowane przeczytanie: Ogranicz dostęp użytkownika SSH do określonego katalogu za pomocą więzienia chrooted

Najprostszym sposobem na to jest stworzenie chrootowanego środowiska więzienia dla SFTP Access. Ta metoda jest taka sama dla wszystkich systemów operacyjnych UNIX/Linux. Korzystając z środowiska chrooted, możemy ograniczyć użytkowników do ich katalogu domowego lub do określonego katalogu.

Ogranicz użytkowników do katalogów domowych

W tej sekcji utworzymy nową grupę o nazwie sftpgroup i przypisz prawidłową własność i uprawnienia do kont użytkowników. Istnieją dwie możliwości ograniczenia użytkowników do domu lub konkretnych katalogów, zobaczymy obie strony w tym artykule.

Utwórz lub modyfikuj użytkowników i grupy

Na przykład ograniczmy istniejącego użytkownika Tecmint, do jego/jej katalogu domowego nazwanego /Home/Tecmint. W tym celu musisz stworzyć nowy sftpgroup grupa używa GroupAdd polecenie jak pokazano:

# grupaadd sftpgroup 

Następnie przypisz użytkownika „Tecmint” Do sftpgroup Grupa.

# usermod -g sftpgroup tecmint 

Na przykład możesz utworzyć nowego użytkownika za pomocą polecenia useradd Senthil i przypisz użytkownika do Sftpusers Grupa.

# adduser senthil -g sftpgroup -s /sbin /nologin # passwd tecMint 

Zmodyfikuj plik konfiguracyjny SSH

Otwórz i dodaj następujące wiersze do /etc/ssh/sshd_config plik konfiguracyjny.

Podsystem SFTP Wewnętrzna SFTP Grupa dopasowania SFTPGroup ChrootDirectory /Home ForceCommand Internal-SFTP x11fording NO bez dopuszczalnych informacji NO 

Zapisz i wyjdź z pliku, uruchom ponownie usługę SSHD, aby wdrożyć nowe zmiany.

# Systemctl restart SSHD lub # Service SSHD restart 

Jeśli odbywasz wielu użytkowników do tego samego katalogu, powinieneś zmienić uprawnienia katalogu domowego każdego użytkownika, aby uniemożliwić wszystkim użytkownikom przeglądanie katalogów domowych użytkowników.

# CHMOD 700 /HOME /TECMINT 

Sprawdź logowanie użytkowników SSH i SFTP

Teraz nadszedł czas, aby sprawdzić login z systemu lokalnego. Spróbuj ssh swój system zdalny z systemu lokalnego.

# ssh [chroniony e -mail] 

Tutaj,

  1. Tecmint - Nazwa użytkownika systemu zdalnego systemu.
  2. 192.168.1.150 - Adres IP systemu zdalnego systemu.
Przykładowy wyjście:
Hasło [e -mail chronione]: nie można chdir do katalogu domowego /home /tecMint: brak takiego pliku lub katalogu ta usługa pozwala tylko na połączenia SFTP. Połączenie z 192.168.1.150 zamkniętych. 

Następnie dostęp do systemu zdalnego za pomocą SFTP.

# sftP [chroniony e -mail] 
Przykładowy wyjście:
Hasło [chronione e -mail]: podłączone do 192.168.1.150. sftp> 

Sprawdźmy aktualny katalog roboczy:

SFTP & GT PWD Zdalny katalog roboczy: / sftp & gt ls Tecmint 

Tutaj, Tecmint to katalog domowy. CD do Tecmint katalog i utwórz wybrane pliki lub foldery.

SFTP & GT CD Tecmint Zdalny katalog roboczy: / Test SFTP & GT MKDIR Tecmint 

Ogranicz użytkowników do konkretnego katalogu

W naszym poprzednim przykładzie ograniczamy istniejących użytkowników do katalogu domowego. Teraz zobaczymy, jak ograniczyć nowego użytkownika do niestandardowego katalogu.

Utwórz grupę i nowych użytkowników

Utwórz nową grupę sftpgroup.

# grupaadd sftpgroup 

Następnie utwórz katalog grupy SFTP i przypisz uprawnienia dla użytkownika root.

# mkdir -p/sftpusers/chroot # chown root: root/sftpusers/chroot/ 

Następnie utwórz nowe katalogi dla każdego użytkownika, do którego będą mieli pełny dostęp. Na przykład utworzymy Tecmint Użytkownik i jego nowy katalog domowy z prawidłowym uprawnieniem do grupy przy użyciu następującej serii poleceń.

# adduser TecMint -g sftpgroup -s/sbin/nologin # passwd tecmint # mkdir/sftpusers/chroot/tecmint # chown tecMint: sftpgroup/sftpusers/chroot/tecMint/ # chmod 700/sftpusers/chroot/tecMint/tecMint/ 

Skonfiguruj SSH dla SFTP Access

Zmodyfikuj lub dodaj następujące wiersze na końcu pliku:

#SubSystem SFTP/usr/libexec/openssh/sftp-server Podsystem SFTP SFTP Grupa dopasowania SFTP SFTPGROUP ChrootDirectory/Sftpusers/Chroot/ForceCommand Internal-SFTP x11 wdroże 

Zapisz i wyjdź z pliku. Uruchom ponownie usługę SSHD, aby wejść w życie zapisane zmiany.

# Systemctl restart SSHD lub # Service SSHD restart 

To wszystko, możesz sprawdzić, logując się na serwerze zdalnego SSH i SFTP za pomocą powyższego kroku w Verify SSH i SFTP Login.

Pamiętaj, że ta metoda wyłączy dostęp do powłoki, tj.e Nie możesz uzyskać dostępu do sesji powłoki systemu zdalnego za pomocą SSH. Możesz uzyskać dostęp tylko do systemów zdalnych za pośrednictwem SFTP i przesyłać pliki do i z systemów lokalnych i zdalnych.

Wniosek

Teraz wiesz, jak ograniczać użytkowników katalogów domowych za pomocą środowiska chroot w Linux. Jeśli uznasz to za przydatne, udostępnij ten artykuł w sieciach społecznościowych i daj nam znać w sekcji komentarzy poniżej, jeśli istnieją inne metody ograniczania użytkowników katalogów domowych.