четверг, 17 декабря 2009 г.

Поднятие FTP-сервера в Debian для бытовых нужд.

Предисловие.
У меня сложилась следующая ситуация. Купил себе ноутбук, включил его в домашнюю сеть, до этого состоявшую из роутера и десктопа. И сразу захотелось получить возможность качать на него фильмы, программы и т.д. из локальной сети провайдера, а именно из местного p2p. Но там для того, чтобы что-то скачать, сперва надо что-то выложить самому. Как говорится, чтобы купить что-нибудь ненужное, сперва надо продать что-нибудь ненужное. Качать же что-то из других источников было лень. Поэтому решено было слить немножко шары с десктопа под управлением Linux Debian, за которым, кстати, в этот момент сидела моя девушка (вот, кстати, ее блог). При этом мешать ей было крайне нежелательно.
Задача.
Поднять на десктопе FTP-сервер, для того, чтобы можно было быстро скачать что-то с одного компа на другой в пределах своей домашней сети.д
Решение.
1) Была скачана программа Putty, которая позволяет из под Windows заходить на Linux-компьютеры и сервера по протоколу ssh и получать доступ к консоли. (К счастью, sshd я поднял на десктопе заранее)
2) В качесте FTP-сервера был выбран proftpd. Установил я его следующим образом:
sudo aptitude install proftpd
При установке он спросит, в каком режиме надо работать - как сервер или под управлением inetd, я выбрал inetd, так как в таком режиме он будет меньше грузить систему. Правда, производительность его тоже снизится, но ведь туда буду только я ходить, а не толпы народа.
3) Была произведена его минимальная настройка. Так как он ставился не для production-целей, я особо не стал грузиться и курить мануалы, а сделал следующее:
sudo vim /etc/proftpd/proftpd.conf
Все настройки были оставлены по умолчанию, я только добавил следующее:
<Anonymous /mnt/d/Downs>
User ftp
Group nogroup
UserAlias anonymous ftp
DirFakeUser on ftp
DirFakeGroup on ftp
RequireValidShell off
MaxClients 10
<Directory *>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
</Anonymous>
Вроде как все интуитивно понятно, но поясню: секция Anonymous задает параметры для анонимного доступа в директорию /mnt/d/Downs, где у меня лежит всякая вкуснятка. Аноним может входить под именем ftp, anonymous. В секции Limit мы запрещаем ему писать в этой директории.
4) Собственно, это все, осталось только выполнить reload сервера, чтобы он прочитал обновленный конфиг:
sudo /etc/init.d/proftpd reload
5) Заходим любым фтп-клиентом. Лично я использовал для этой цели свой браузер, Google Chrome. Чтобы зайти, в адресной строке надо набрать
ftp://192.168.0.153/
,
где 192.168.0.153 - это IP адрес моего десктопа.
В результате получаем следующее:

И все, берем и качаем то, что нам надо))

6 комментариев:

Анонимный комментирует...

новый год уже вот-вот ))

Maaaks комментирует...

Спасибо огромное, очень помогло! А то через Webmin быстрее запутаешься, чем что-нибудь с этим ProFTP сделаешь.

AlexWinner комментирует...

Пожалуйста! Рад, что вам пригодилось!

Анонимный комментирует...

Может быть тупой вопрос, но... "Аноним может входить под именем ftp, anonymous..." - не понимаю, что это значит. Сделал по аналогии (кстати, спасибо)))- захожу - просит логин и пароль. Имя anonymous, а пароль ftp? Так что-ли? Не пускает.

AlexWinner комментирует...

Нет, имя можно выбирать, либо Anonymous, либо ftp. А пароль пустой:)

Анонимный комментирует...

Всё делал по инструкции но при запуске proftp пишет:
ProFTPd warning: cannot start neither in standalone nor in inetd/xinetd mode. Check your configuration.
подскажите пожалуйста в чём может быть проблема.