Existuje jednoduchý způsob, jak omezit uživatele SCP/SFTP na adresář? Všechny metody, se kterými jsem se setkal, vyžadují, abych si zkopíroval chroot vězení kopírováním binárních souborů, ale nemyslím si, že by to mělo být nutné.
SSH Podporuje nativní chrootování uživatele SFTP. Musíte pouze dodat
Adresář Chroot
V konfiguračním souboru sshd restartujte sshd.
Pokud děláte jen sftp, pak už nemusíte dělat nic víc. Bohužel to nefunguje pro scp. Pro interaktivní prostředí Shell budete muset zkopírovat binární soubory a/dev uzly do chrootu.
Příklad konfigurace, pouze pro jednoho uživatele, testuser:
Match User testuser
ChrootDirectory /home/testuser
ForceCommand internal-sftp
Několik věcí, které byste měli vědět, ze stránky sshd_config man:
Všechny součásti názvu cesty musí být adresáře vlastněné kořenovým adresářem, které nelze zapisovat Jiným uživatelem nebo skupinou. Po chroot sshd (8) změní pracovní adresář Na domovský adresář uživatele.
Hledejte ChrootDirectory v man sshd_config pro více informací.
Chroot je poměrně jednoduchá metoda. Protože operační systém již tuto bezpečnostní funkci má, autoři démona se ji nepokoušejí znovu implementovat.
Rssh přichází s průvodcem nastavením chroot vězení. Je v souboru CHROOT
ve zdrojové distribuci. Stručně řečeno, musíte mít:
/usr/bin/scp
, /usr/libexec/openssh/sftp-server
, /usr/bin/rssh_chroot_helper
{/usr,}/lib/lib*.so.[0-9]
), které používají, také kopírovány/etc/passwd
(docela možná ne kopie, ale odvozená od předlohy)/dev/null
, /dev/tty
a také /dev/log
soket pro protokolování (a musíte démonovi syslogu sdělit, aby ho poslouchal)Extra tip, který není v dokumentaci rssh: Pokud potřebujete, aby některé soubory byly přístupné v chroot vězení, můžete použít bindfs nebo Linux's mount --bind
pro vytvoření dalších hierarchií adresářů mimo vězení. bindfs
umožňuje remounted adresáři mít více omezující oprávnění, například jen pro čtení. (mount --bind
není, pokud nepoužijete opravu jádra; Debian tuto opravu zahrnoval již od východu lenny, ale většina ostatních distribucí nebyla od roku 2011.)