Тут недавно в чатике была поднята интересная тема про SFTP. И я решил проверить и немного систематизировать знания.
Итак: если пользователю прописать оболочкой /usr/sbin/nologin:
sudo usermod -s /usr/sbin/nologin user
Это вовсе не означает, что пользователь не может получить доступ к системе.
Да, он не может залогиниться с клавиатуры и зайти по SSH. Но он вполне МОЖЕТ ПОЛУЧИТЬ ДОСТУП К ФАЙЛАМ по SFTP при условии, что в файле /etc/ssh/sshd_config есть строка Subsystem sftp internal-sftp, не знаю как сейчас, а раньше эта подсистема была установлена по умолчанию.
Логика разработчиков вполне понятна. Работал человек, работал, доступ ему закрыли, но результат работы забрать может. Это похоже на то, как жена выставляет чемодан у двери гулящему мужу.
Заткнуть эту дырку очень просто. В файле /etc/ssh/sshd_config заменим подсистему SFTP:
#Subsystem sftp internal-sftp
Subsystem sftp /usr/lib/openssh/sftp-server
Теперь проверка правильности конфигурации и перезапуск службы в случае успеха.
sudo sshd -t && sudo systemctl restart sshd
В этом случае при попытке входа по SFTP получим сообщение:
Received message too long 1416128883 Ensure the remote shell produces no output for non-interactive sessions.
nologin можно получить доступ к файлам если sftp internal-sftp.Сможешь спать спокойно, не заглянув в /etc/ssh/sshd_config? :-)








Комментарии