Řešení 1:
Příkaz, který byste měli použít ke změně prostředí, je chsh . Nologin shell může být /sbin/nologin
nebo /usr/sbin/nologin
(zkontrolujte, které máte, v /etc/shells
), ale /bin/false
by pravděpodobně byla lepší volba.
chsh -s /bin/false user
Měli byste zvážit nastavení něčeho jako scsponly který udělá přesně to, co chcete.
Řešení 2:
Měli byste to udělat také s OpenSSH 4.9 a novějším, pomocí kterého můžete navíc uživatele chrootovat pro zvýšení bezpečnosti.
Ve vašem /etc/ssh/sshd_config
:
Match User user
ChrootDirectory /home/user
ForceCommand internal-sftp
AllowTcpForwarding no
Poté spusťte:
chsh -s /bin/false user
chown root:root /home/user
mkdir /home/user/uploads
chown user /home/user/uploads
Uživatel bude moci zapisovat pouze do /home/user/uploads.
https://debian-administration.org/article/590/OpenSSH_SFTP_chroot_with_ChrootDirectory
Řešení 3:
Myslím, že nejlepší způsob je s mysecureshell
http://mysecureshell.sourceforge.net/en/index.html
Tímto způsobem můžete snadno chrootovat uživatele a v případě potřeby dokonce omezit šířku pásma.