Odpowiedzi:
SSH Obsługuje natywnie chrootowanie użytkownika SFTP. Musisz tylko dostarczyć
ChrootDirectory
W pliku konfiguracyjnym sshd zrestartuj sshd.
Jeśli tylko używasz sftp, nie musisz nic więcej robić. Niestety nie działa to dla scp. Aby uzyskać interaktywną powłokę, musisz skopiować pliki binarne i / dev węzły do chroot.
Przykładowa konfiguracja tylko dla jednego użytkownika testuser:
Match User testuser
ChrootDirectory /home/testuser
ForceCommand internal-sftp
Kilka rzeczy, o których należy pamiętać, ze strony podręcznika sshd_config:
Wszystkie składniki nazwy ścieżki muszą być katalogami będącymi własnością administratora, a nie katalogami zapisywalny przez dowolnego innego użytkownika lub grupę. Po chroot, sshd (8) zmienia katalog roboczy do katalogu domowego użytkownika.
Wyszukaj ChrootDirectory w man sshd_config, aby uzyskać więcej informacji.
Subsystem sftp /usr/lib/openssh/sftp-server
linii naSubsystem sftp internal-sftp -f AUTH -l VERBOSE
Match
sekcji.
Chroot to dość prosta metoda. Ponieważ system operacyjny ma już tę funkcję bezpieczeństwa, autorzy demonów zwykle nie próbują jej ponownie wdrożyć.
Rssh zawiera przewodnik na temat zakładania więzienia chroot. Jest w CHROOT
pliku w dystrybucji źródłowej. Krótko mówiąc, musisz mieć:
/usr/bin/scp
, /usr/libexec/openssh/sftp-server
,/usr/bin/rssh_chroot_helper
{/usr,}/lib/lib*.so.[0-9]
), których używają, również zostały skopiowane/etc/passwd
(całkiem możliwe, że nie kopia, ale pochodząca od wzorca)/dev/null
, /dev/tty
, a także /dev/log
gniazdo do logowania (a trzeba powiedzieć demona syslog nasłuchuje na tym gnieździe)Dodatkowa wskazówka, której nie ma w dokumentacji rssh: Jeśli potrzebujesz dostępu do niektórych plików w więzieniu chroot, możesz użyć bindfs lub Linuxa, mount --bind
aby stworzyć dodatkowe hierarchie katalogów spoza więzienia. bindfs
pozwala przemontowanemu katalogowi mieć bardziej restrykcyjne uprawnienia, na przykład tylko do odczytu. ( mount --bind
nie, chyba że zastosujesz łatkę do jądra; Debian zawarł tę łatkę od czasu wydania East Lenny, ale większość innych dystrybucji nie miała tego w 2011 roku.)