-
SFTPonly w CentOS i nie tylko
Wielu z nas ma przyjaciół, którzy chętnie skorzystaliby z naszego serwera. Często nie stawiamy na nim FTP, ponieważ sami wgrywamy przy pomocy np. SCP. Przede wszystkim jest to bezpieczna metoda, bowiem połączenie jest szyfrowane. Dając dostęp do SCP, umożliwiamy innej osobie zalogowanie się do naszego systemu przez SSH. Z wiadomych przyczyn wolelibyśmy zapewne, aby dostęp osoby „postronnej” był ograniczony do minimum. Z pomocą przychodzi nam sftponly. Bierzmy się więc do roboty.
Szukamy sftp-server w naszym komputerze przy pomocy narzędzia locate. Możemy użyć do tego oczywiście innego polecenia, np. „find”
locate sftp-server
W większości wypadków położenie jest następujące.
/usr/libexec/openssh/sftp-server
Edytujemy plik zawierający najważniejsze informacje o użytkownikach. Znajdujemy interesującego nas usera i w miejscu, gdzie ustawiamy domyślnego shella wpisujemy „/usr/libexec/openssh/sftp-server” czyli położenie omawianego „narzędzia”.
vim /etc/passwd
Możemy do tego wykorzystać również następujące polecenie:
usermod -s /usr/libexec/openssh/sftp-server nazwa_user
Następnie dodajemy wspomniane „narzędzie”, a właściwie to ścieżkę do niego jako prawidłowy shell systemowy. Edytujemy w tym celu plik „/etc/’shells”
vim /etc/shells
Dodajemy „/usr/libexec/openssh/sftp-server” na koniec wspomnianego pliku. Dla przyzwoitości zrestartujmy usługę sshd. Powinno działać. Użytkownik o tak zmodyfikowanym domyślnym shellu, będzie mógł wgrać pliku np przy pomocy WinSCP, ale nie zaloguje się już na konsole.