Portál AbcLinuxu, 8. listopadu 2025 08:26
root@tux:~# tail /etc/ssh/sshd_config
Compression yes
Subsystem sftp internal-sftp
Match group sftponly
ChrootDirectory /var/ssh-chroot
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
root@tux:~# cat /etc/passwd | grep pokus
pokus:x:1003:1003:Pokus SFTP,,,:/home/pokus:/bin/false
root@tux:~# cat /etc/fstab | grep ssh
/home /var/ssh-chroot/home bind bind 0 0
root@tux:~# cat /etc/group | grep sftponly
sftponly:x:1004:pokus
root@tux:~# ls -lh /var/ssh-chroot/
celkem 4,0K
drwxr-x--x 6 root root 4,0K srp 29 22:39 home
root@tux:~# ls -lh /var/ssh-chroot/home/
celkem 16K
drwx------ 23 martin martin 4,0K srp 27 15:50 martin
drwx------ 3 pokus pokus 4,0K srp 31 11:57 pokus
Kdyz se uzivatel pripoji ve Windows pres WinSCP, tak ho to hodi do jeho /home/pokus, kdyz ale prejde o uroven vys, tak mu to logicky hodi chybu (nema R pro /home) a nemuze se dostat zpet do sveho home.
V ubuntu se pri pripojeni automaticky zobrazuje adresar / - takze to taky nejde.
Jedine co by slo je dat /home prava 755 (+R), to si ale nechavam jako posledni nouzovou moznost - nechci aby uzivatel videl seznam vsech uzivatelu.
Jak to resite?
Chroot môžeš urobiť aj priamo do domovských adresárov. Myslím, že je na to zástupný znak, ktorý to umožni.Podľa dokumentácie je to %h
Možnosti ako zamädziť login užívateľa je viac. Môžeš použiť pam moduly, libpam-chroot. Pri libpam-chroot je nutné vypnúť PrivilegeSeparation. Ďalej je možné nahodiť balíček scponly. V dokumentácii k ssh je pisané ak chceš použiť chroot, tak tam musíš mať povolené zariadenia a spúštanie.
V /etc/fstab máš urobení bind na home adresáre. Ak by si chcel oddeliť užívateľov, tak by si musel definovať pre každého užívateľa. nehovorím, že nie je to možné ošetriť, ale vyžadovalo by to bežiaci skript s právami roota, alebo cez sudo.
Podľa mňa by bola lepšia verzia uzavrieť celý ssh a sftp do chrootu a potom nejakým skriptom prenášať data do home adresárov. Inými slovami by bol daný server odizolovaní od zvyšku systému.
Na zvýšenie bezpečnosti je samozrejme nutné zabezpečiť základ systému.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.