====== Serwer SFTP ====== ===== Jak uruchomić serwer SFTP ? ===== Na ogół nic nie trzeba robić, gdyż jeśli jest uruchomiony serwer SSH, to uruchomiony jest też serwer SFTP. Możesz się o tym przekonać łącząc się z hostem po protokole SFTP za pomocą programu WinSCP i podając ten sam login i hasło co łącząc się z serwerem SSH, np. w Putty. ===== Chrooting ===== Teraz zajmiemy się kwestią jak zabezpieczyć konto SFTP, gdy chcemy je udostępnić innym osobom do wymiany plików. Na potrzeby niniejszej dokumentacji zakładamy, że jest już utworzony użytkownik z własnym katalogiem domowym. **Po pierwsze ograniczamy mu dostęp tylko do katalogu domowego.** ''/etc/ssh/sshd_config'' Subsystem sftp internal-sftp # Wykomentowujemy istniejący Subsystem Match User [użytkownik] ChrootDirectory %h AllowTCPForwarding no X11Forwarding no ForceCommand internal-sftp Dodatkowo katalog użytkownika musi być własnością roota. Może to trochę nieintuicyjne, ale inaczej nie zadziała. chown root /home/[użytkownik] chmod og-w /home/[użytkownik] Użytkownik ''root'' musi być właścicielem katalogu nawet, jeżeli jest to katalog domowy użytkownika. Ponadto uprawnienia nie mogą być szersze niż 755. W innym przypadku serwer w ogóle nie pozwoli się zalogować. Dlatego zaleca się utworzenie podkatalogu, którego użytkownik będzie właścicielem, np. ''ftp'' z pełnymi uprawnieniami dla użytkownika. **Po drugie zabraniamy korzystania z konsoli.** usermod --shell /bin/false [użytkownik] service ssh restart I to wszystko, żadnych dodatkowych instalacji, czy konfiguracji. Artykuł oparty na [[https://programowo.net/2014/07/zamykanie-uzytkownikow-sftp-w-ich-katalogach-domowych-czyli-chroot-dla-sftp,120.html|Programowo]]. ===== Tematy pokrewne ===== **Program ''rssh'' (restricted shell)** apt-get install rssh usermod --shell /usr/bin/rssh [użytkownik] ''/etc/rssh.conf'' #Użytkownik:maska plików:uprawnienia:katalog chroot (opcjonalny) user=[użytkownik]:022:111111:/home/[użytkownik] **Program ''vsftpd''.** apt-get install vsftpd # Instalacja service vsftpd restart # Restart Plik konfiguracyjny znajduje się w ''/etc/vsftpd.conf''. Po instalacji włączamy następujące opcje: local_enable=YES write_enable=YES chroot_local_user=YES #pam_service_name=vsftpd ''pam_service_name=vsftpd'' należy wykomentować, żeby zezwolić na logowanie użytkowników nie-shellowych.