GNU/Linux >> Znalost Linux >  >> Linux

CentOS / RHEL :Jak nastavit SFTP na Chroot Jail pouze pro konkrétní skupinu

Chcete-li povolit funkci ChrootDirectory na úrovni jednotlivých uživatelů, použijte podmíněně spouštěnou konfiguraci sshd (pomocí „Match ”) v sshd_config soubor. Nastavení ChrootDirectory na konkrétní skupinu zajistí, že uživatelé této skupiny se nebudou moci dostat ze svého domovského adresáře, čímž se zajistí, že nebudou ovlivněni žádní ostatní uživatelé.

1. Vytvořte skupinu pro uživatele, kteří budou chrootováni.

# groupadd sftp_group

2. Vytvořte uživatele pro skupinu SFTP a nastavte heslo.

# useradd sftp_test1
# passwd sftp_test1
Changing password for user sftp_test1.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

3. Přidejte uživatele sftp_test1 do skupiny sftp_group. Nechte uživatelské prostředí /bin/false protože uživatelé by měli mít povoleno pouze sftp a ne ssh/scp.

# usermod -g sftp_group -s /bin/false sftp_test1
# id sftp_test1
uid=1000(sftp_test1) gid=1001(sftp_test1) groups=1001(sftp_test1),1000(sftp_group)
POZNÁMKA :Uživatelé, kteří nejsou v této skupině, se mohou stále přihlásit k hostiteli přes ssh a jinak normálně komunikovat s openssh.

4. Upravte konfiguraci sshd pro konfiguraci sftp. Odeberte /usr/libexec/openssh/sftp-server řádek a přidejte řádek internal-sftp, jak je znázorněno níže:
Odstraňte nebo hashujte řádek:

# vi /etc/ssh/sshd_config
Subsystem sftp /usr/libexec/openssh/sftp-server

přidejte následující řádek:

# vi /etc/ssh/sshd_config
Subsystem sftp internal-sftp

5. Přidejte níže uvedený obsah na konec souboru /etc/ssh/sshd_config pro přidání prostředí chroot sftp:

# vi /etc/ssh/sshd_config
Match Group sftp_group
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory /home
ForceCommand internal-sftp

5. Restartujte službu sshd, aby se projevila konfigurace sftp.

# systemctl restart sshd

Ověřit

1. Nyní se pokuste o přístup do systému pomocí služby SSH a SFTP z jiných klientů:
a. SSH

# ssh [email protected]
The authenticity of host 'x.x.x.x (x.x.x.x)' can't be established.
ECDSA key fingerprint is 07:1c:34:30:f4:81:e1:e0:b3:13:30:b8:57:d9:d9:58.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'x.x.x.x' (ECDSA) to the list of known hosts.
[email protected]'s password:
Could not chdir to home directory /home/sftp_test1: No such file or directory
This service allows sftp connections only.
Connection to x.x.x.x closed.

Jak vidíte výše, připojení je uzavřeno a není povoleno se přihlásit k SSH.

b. SFTP

# sftp [email protected]
[email protected]'s password:
Connected to x.x.x.x.
sftp> pwd
Remote working directory: /
sftp> ls
sftp_test1
sftp> cd /home
Couldn't canonicalize: No such file or directory
sftp>

V důsledku toho je uživatel sftp_test1 přihlášen přes SFTP a nemůže změnit adresář kvůli prostředí chroot

3. Funkci SFTP serveru můžete také otestovat z klienta Windows pomocí softwaru „WinSCP“ nebo „Filezilla“.


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

  2. Jak nakonfigurovat samostatný port pro SSH a SFTP na CentOS/RHEL

  3. Jak nastavit afinitu CPU pro proces SYSTEMD v CentOS/RHEL 7

  1. Jak nastavit proměnné prostředí pro službu systemd v CentOS/RHEL 7

  2. CentOS / RHEL 7:Jak nastavit výchozí cíl (výchozí úroveň běhu)

  3. CentOS / RHEL 6:Jak změnit název skupiny svazků pro zařízení s kořenovým diskem

  1. CentOS / RHEL :Jak nastavit chroot jail pro vsftp pouze pro konkrétní uživatele

  2. CentOS / RHEL :Jak nastavit chroot jail pro vsftp pro všechny uživatele

  3. CentOS / RHEL :Jak nastavit chroot jail SFTP