Niedawno znaleźliśmy obejście, które wygląda następująco:
/ etc / ssh / sshd_config:
...
Subsystem sftp internal-sftp
Match Group sftponly
ChrootDirectory /home
AllowTCPForwarding no
X11Forwarding no
ForceCommand internal-sftp
uprawnienia do katalogu:
root@server:~ # chown root:root /home
root@server:~ # chmod 111 /home
root@server:~ # chmod 700 /home/*
Teraz /homespełnia wymagania ChrootDirectoryi nie może być wymieniony przez ograniczonych użytkowników, ale sftponlyużytkownicy nie będą mogli się zalogować, jeśli ich katalogi domowe są skonfigurowane jak zwykle ( /home/$LOGNAME): w środowisku chroot ich katalogi domowe nie znajdują się w środku, /homeale bezpośrednio pod root ( /).
obejście 1
Ustaw domy użytkowników z ograniczonym dostępem do wyglądu pod chroot:
root@server:~ # usermod -d /username username
zastrzeżenie 1
Jeśli którykolwiek z nieograniczonych użytkowników lub jakiś skrypt administracyjny używa rozszerzenia tylda bash, tak jak ~usernamebędzie się rozwijało do /usernameteraz, to nie jest to, co należy rozumieć.
Również administrator tworzący sftponlyużytkowników musi pamiętać o używaniu domu innego niż domyślny. Rozwiązany za pomocą skryptu. Z których administrator musi pamiętać.
obejście 2
Jest to alternatywa dla poprzedniej, którą wykorzystaliśmy:
root@server:~ # ln -s . /home/home
To jest utworzenie dowiązania symbolicznego /homedo własnego katalogu. Teraz pod chroot /home/usernamewskazuje na ten sam katalog, co bez chroot. Dla ograniczonego użytkownika zalogowanego za pomocą sftp wyglądałoby to jak /username. Ten katalog jest zapisywalny dla jego właściciela (ograniczony użytkownik). Użytkownik z ograniczonym dostępem nie może wymienić swoich katalogów macierzystych ani domowych żadnego z rodzeństwa według nazwy.
Jedyną wyjątkową cechą sftponlyużytkownika jest jego udział w sftponlygrupie. Okazało się, że łatwiej sobie z tym poradzić niż obejście 1.
zastrzeżenia 2
- Nie możesz mieć użytkownika o nazwie „home” z katalogiem domowym
/home/home
- Musisz uważać na skrypty przechodzące przez
/homehierarchię i podążające za dowiązaniami symbolicznymi.
chrootużytkownicy ed mają swojeChrootDirectory? Czy mogą uzyskać do niego dostęp?