GNU/Linux >> Znalost Linux >  >> Linux

Jak nakonfigurovat Chroot SFTP Server v Linuxu

Existuje nějaký scénář tam, kde chce správce systému jen několik uživatelů, by mělo mít povoleno přenášet soubory do linuxových boxů, ale žádné ssh . Toho můžeme dosáhnout nastavením SFTP v prostředí chroot.

Pozadí SFTP a chroot:

SFTP znamenáSSH File Transfer Protocol nebo Secure File Transfer Protocol . SFTP poskytuje funkce pro přístup k souborům, přenos souborů a správu souborů přes jakýkoli spolehlivý datový tok. Když nakonfigurujeme SFTP v prostředí chroot, pak pouze povolení uživatelé budou omezeni na jejich domovský adresář , nebo můžeme říci, že povolení uživatelé budou ve vezení jako prostředí, kde ani nemohou změnit svůj adresář.

V článku nakonfigurujeme Chroot SFTP server na RHEL a CentOS systém . Máme jednoho uživatele ‘Jack “, tomuto uživateli bude povoleno přenášet soubory na Linuxu, ale nebude mít přístup ssh.

Krok:1) Vytvořte skupinu

Vytvořte skupinu sftp_users pomocí příkazu groupadd,

[[email protected] ~]# groupadd  sftp_users

Krok:2) Přiřaďte uživateli sekundární skupinu (sftp_users)

Pokud uživatelé v systému neexistují, vytvořte jej pomocí příkazu níže,

[[email protected] ~]# useradd  -G sftp_users -s /sbin/nologin  jack
[[email protected] ~]# passwd jack

Pro již stávající uživatele , použijte níže uvedený příkaz usermod :

[[email protected] ~]# usermod –G sftp_users -s /sbin/nologin  jack

Poznámka: Pokud chcete změnit výchozí domovský adresář uživatelů a poté použijte ‘-d‘ možnost v příkazu useradd a usermod  a nastavte správná oprávnění.

Krok :3) Nyní upravte konfigurační soubor „/etc/ssh/sshd_config“

Upravte soubor sshd_config pomocí svého oblíbeného editoru

# vi /etc/ssh/sshd_config

#comment out the below line and add a line like below
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp

# add Below lines at the end of file
Match Group sftp_users
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory %h
ForceCommand internal-sftp

Kde:

Match Group sftp_users – To znamená, že následující řádky budou pouze pro uživatele, kteří patří do skupiny sftp_users
ChrootDirectory %h – Toto je cesta (výchozí domovský adresář uživatele), která bude použita pro chroot po ověření uživatele. Takže pro Jacka to bude /home/jack.
ForceCommand internal-sftp – Toto vynutí provedení internal-sftp a ignoruje všechny příkazy, které jsou zmíněny v souboru ~/.ssh/rc.

Po provedení výše uvedených změn restartujte službu ssh pomocí následujícího příkazu,

[[email protected] ~] # systemctl restart sshd

Krok:4) Nastavte požadovaná oprávnění pro domovský adresář uživatele

Stejně jako v naší ukázce používáme uživatele jack jako uživatele sftp, takže spusťte následující příkazy pro nastavení požadovaných oprávnění v jeho domovském adresáři,

[[email protected] ~]# chmod 755 /home/jack
[[email protected] ~]# chown root /home/jack
[[email protected] ~]# chgrp -R sftp_users /home/jack

Pokud chcete, měl by mít uživatel jack povoleno nahrávat soubory a poté vytvořte složku pro nahrávání s níže uvedenými oprávněními,

[[email protected] jack]# mkdir /home/jack/upload
[[email protected] jack]# chown jack. /home/jack upload/

Pokud je ve vašem systému povolen selinux, proveďte následující příkaz pro nastavení pravidel selinux, 

[[email protected] ~] setsebool -P ssh_chroot_full_access on

Krok :5)  Otestujte server Sftp

Nejprve se pokuste o přístup do systému pomocí ssh přes uživatele jack,

Jak můžeme vidět na výstupu výše, jack má povoleno ssh.

Nyní se zkusme přihlásit pomocí sftp,

Jak můžete vidět výše,  uživatel jack je přihlášen přes SFTP a nemůže změnit adresář kvůli prostředí chroot.

Nyní proveďte nahrávání a stahování testování, jak je uvedeno níže:

Jak můžeme vidět výše, nahrávání i stahování pro uživatele jack funguje dobře. Tím je článek uzavřen, rádi byste se podělili o své názory a komentáře v sekcích komentářů níže.

Přečtěte si takéJak nakonfigurovat SFTP server s Chrootem v Debianu 10


Linux
  1. Jak nastavit linuxové chroot vězení

  2. Jak nainstalovat a nakonfigurovat Linux NTP server a klienta

  3. Jak nakonfigurovat VNC Server na Oracle Linux 6

  1. Jak nakonfigurovat SFTP server s Chrootem v Debianu 10

  2. Jak pracovat s SFTP klientem v Linuxu – 10 příkazů sftp

  3. Jak nastavit SFTP server na Arch Linuxu

  1. Jak nakonfigurovat NGINX jako TCP/UDP Load Balancer v Linuxu

  2. Jak nainstalovat a nakonfigurovat Arch Linux jako server

  3. Jak nakonfigurovat server SFTP na CentOS?