Настройка FTP сервера (xinetd)

Устанавливаем все пакеты, связанные с фтп сервером. В менеджере пакетов Synaptic нужно отметить ftpd.

Далее нужно внести изменения в файл /etc/ftpuser/. В файле /etc/ftpuser/ перечисляются пользователи, которым запрещен вход на ftp. Следовательно, удаляем всех пользователей.

Для анонимного входа нужно создать пользователя с именем ftp. Добавить пользователя можно либо с помощью команды adduser, либо внести ручками изменения в файл /etc/passwd:

ftp::14:50:FTP User:/home/dima/Ftpboot:/bin/false

Если бы после ftp: стоял Х, то это означало бы, что вход по паролю. После слова User прописывается путь к домашней папке, для которой нужно разрешить все права.

$ chmod -R a+rw /home/dima/Ftpboot/

Чтобы включить сервис ftp, нужно создать файл с именем ftp в папке /etc/xinetd.d следующего содержания:

service ftp
{
    socket_type = stream
    protocol 	= tcp
    wait 	= no
    user 	= root
    server 	= /usr/sbin/in.ftpd
    disable 	= no
}

Далее делаю:

$ killall xinetd

И запускаю его в режиме отладки, т.е. с ключом -d.

$ xinetd -d.

Смотрю на отладочные сообщения.Если появляются какие-то ошибки, то надо разбираться по ним. Если сервис фтп запустился, то в отладке должно быть примерно следующее:

Service configuration: ftp

        id = ftp
        flags = IPv4
        socket_type = stream
        Protocol (name,number) = (tcp,6)
        port = 21
        wait = no
        user = 0
        Groups = no
        PER_SOURCE = -1
        Bind = All addresses.
        Server = /usr/sbin/in.ftpd
        Server argv = in.ftpd
        Only from: All sites
        No access: No blocked sites
        No logging

14/1/20@17:09:34: DEBUG: 26667 {cnf_start_services} Started service: ftp

Проверить работоспособность очень просто. Для этого в соседнем терминале создаем файл — proba.txt. Подключаемся к своему компу и посылаем файл:

$ ftp localhost

вводим логин ftp, пароль ftp, переходим в бинарный режим — bin.

put proba.txt

Файл должен оказаться в домашней папке.