ProFTPd и Invalid shell
Сегодня проверял бэкапы и увидел, что давненько не было новых, хотя должны были быть.. Зашел на сервер, запустил бэкап вручную, и увидел, что скрипт не может законнектится по ftp к моему локальному сервачку для бэкапов. Попробовал войти с теми же данными, через Filezilla, результат оказался тем же: Login incorrect. Это говорило о том, что проблема с фтп на сервере-бэкапов..
Первым делом, я пошел смотреть логи, в моем случае они находятся тут:
1 2 3 |
/var/log/proftpd/proftpd.log |
в логе я увидел следующее:
1 2 3 |
USER username (Login failed): Invalid shell: '/bin/false' |
это говорило о том, что proftpd не может найти указанный шелл.
Следующим шагом, я пошел проверять список шеллов, он находится тут:
1 2 3 |
/etc/shells |
тут я и заметил, что вместо /bin/false у меня написано:
1 2 3 |
/bin/false/usr/bin/screen |
судя по всему, при установке программки screen (http://www.linuxcenter.ru/lib/articles/soft/screen2.phtml) она дописала свой шелл прямо в конец (а я по всей видимости когда добавлял /bin/false не поставил перевод строки).
Все что мне нужно было сделать - это подредактировать эту строчку вот так:
1 2 3 4 |
/bin/false /usr/bin/screen |
После этого все заработало.
Есть еще один запасной вариант, на случай, если у вас в /etc/shells все в порядке:
- нужно открыть: /etc/proftpd.conf
- и убрать проверку шеллов:
123RequireValidShell no
Author: | Tags: /
| Rating:
Leave a Reply