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: | Rating: / | Tags:

Leave a Reply