Автор Тема: FTP сервер  (Прочитано 979 раз)

Оффлайн Salomatin

  • Модератор
  • *****
  • Сообщений: 954
    • Пошаговые инструкции
    • Email
FTP сервер
« : 11.11.2015 18:03:19 »
ProFTPd

Видеоролик можно скачать по адресу:
http://salomatin.ru/proftpd-L1.ogv
https://youtu.be/sp38kgMi5Ak

Установка и запуск ProFTPd в активном режиме стандартной конфигурации.
(вход зарегистрированных в системе пользователей и анонимный вход)

Обновляем сведения о пакетах для apt-get.
[root@server1c ~]#apt-get updateУдаляем предыдущие версии ftp и убеждаемся что нет запущенного сервера FTP 

[root@server ~]#rpm -qa |grep ftp
[root@server ~]#apt-get remove tftp-server-xinetd tftpd lftp
[root@server ~]#ps -ax |grep ftp

Шаг № 1:
Ставим
[root@server ~]#apt-get install proftpd

Шаг № 2:
Заходим
[root@server1c ~]#mcedit /etc/xinetd.d/proftpd добавляем only_from +=0/0 в файл /etc/xinetd.d/proftpd получаем
service ftp
{
disable = yes
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.ftpd
log_on_success += DURATION USERID
log_on_failure += USERID
nice = 10
rlimit_as = 32M
only_from +=0/0
}

Шаг № 3:
[root@server1c ~]#mcedit /etc/proftpd.confВ файле /etc/proftpd.conf  6 строку  #ServerType        inetd  заменяем на
ServerType        standaloneОграничиваем пользователя рамками своей домашней директории
снимаем знак "#" перед
DefaultRoot ~
Шаг № 4:
Далее:
Имя нашего сервера должно без проблем разрешаться в IP-адрес. Для это открываем для редактирования  файл
[root@server1c ~]# mcedit /etc/hostsи вписываем туда:
127.0.0.1 server server.localdomain Выходим из редактора с сохранением и запускаем скрипт, чтобы изменения вступили в силу:
[root@server1c ~]# /etc/chroot.d/resolv.allПроверяем:
[root@server1c ~]# ping server
[root@server1c ~]# ping server.localdomain
Узнать имя можно командой hostname

Шаг № 5:
Стартуем  сервис
[root@server1c ~]#service proftpd start
[root@server1c ~]#service proftpd restart

Тестируем. Любым    FTP клиентом заходим на сервер и подключаемся под именем и паролем зарегистрированного в системе пользователя

Шаг № 6:
Для допуска анонимных пользователей в режиме чтения
[root@server1c ~]#mcedit /etc/proftpd.confк вонце файла заменяем в котейнере <Limit LOGIN>
 #DenyAll
на    <Limit LOGIN>
#    DenyAll
AllowAll
  </Limit>

в режиме еще и право на запись  тоже самое в контейнере  <Limit WRITE>

 
  <Limit WRITE>
#    DenyAll
 AllowAll
  </Limit>


Тестируем. Любым   FTP клиентом заходим на сервер и подключаемся без указания имени


После каждого редактирования /etc/proftpd.conf не забываем
[root@server1c ~]#service proftpd restart Для автоматического запуска proftpd  при включении сервера
[root@server1c ~]#chkconfig proftpd on
« Последнее редактирование: 30.03.2016 18:49:04 от Salomatin »
Хочешь понять сам, объясни другому.
"Если уже все испробовал и ничего не помогает - почитай инструкцию"

Оффлайн Salomatin

  • Модератор
  • *****
  • Сообщений: 954
    • Пошаговые инструкции
    • Email
Re: FTP сервер
« Ответ #1 : 11.11.2015 19:22:03 »
ProFTPd и MySQLd

Видеоролик можно скачать по адресу:
http://salomatin.ru/proftpd-L2.ogv
https://youtu.be/aIEczB3Fqe8


Шаг № 1:
Ставим
[root@server ~]#apt-get install proftpd-mod_sql_mysql proftpd-mod_sql

Шаг № 2:
заходим
[root@server1c ~]#mcedit /etc/proftpd.confВ файле /etc/proftpd.conf выражение
AuthOrder             mod_auth_pam.c* mod_auth_unix.cзаменяем на
AuthOrder             mod_sql.c
Снимаем комментарий

#<IfModule mod_dso.c>

LoadModule mod_sql.c

LoadModule mod_sql_mysql.c

# LoadModule mod_sql_postgres.c

#</IfModule>

Добавляем
SQLConnectInfo proftpd@localhost vova_user 1234

SQLAuthTypes Plaintext

SQLAuthenticate users

SQLUserInfo users userid passwd uid gid home shell
делаем
[root@server1c ~]#service proftpd restart
Шаг № 3:
Заходим
[root@server ~]# mcedit /etc/shellsв конец строки добавляем
/sbin/nologin

Шаг № 4:
Создаем каталог
[root@server ~]#mkdir /home/ftp
[root@server ~]#chmod 777 /home/ftp

Создаем базу данных

вначале проверим
[root@server ~]# service mysqld restart
Дальше можно разными вариантами создать базу, например
https://forum.altlinux.org/index.php?topic=6364.msg89516#msg89516

Как и в предложенной  лабораторке
База данных proftpd владелец vova_user пароль 1234

В этой базе необходимо создать таблицу которую назвать users  с полями 

userid  логин ( у меня это virt)
passwd пароль  (333)
uid 5001
gid 5001
home /home/ftp
shell /sbin/nologin

Можно взять готовый из вложения к теме.
Разархивировать его и
[root@server ~]# mysql -u vova_user -p
mysql> drop database if exists proftpd;
mysql> create database proftpd;
mysql> quit
[root@server ~]#mysql -u root -p proftpd < proftpd.sql



 
« Последнее редактирование: 19.02.2016 09:32:56 от Salomatin »
Хочешь понять сам, объясни другому.
"Если уже все испробовал и ничего не помогает - почитай инструкцию"

Оффлайн rabochyITs

  • Давно тут
  • **
  • Сообщений: 244
  • Евгений
Re: FTP сервер
« Ответ #2 : 25.08.2017 08:34:49 »
Шаг № 4: Далее:Имя нашего сервера должно без проблем разрешаться в IP-адрес.
Для это открываем для редактирования  [root@server1c ~]# mcedit /etc/hostsи вписываем туда:
127.0.0.1 server server.localdomain
Выходим из редактора с сохранением и запускаем скрипт, чтобы изменения вступили в силу:
[root@server1c ~]# /etc/chroot.d/resolv.allПроверяем:
[root@server1c ~]# ping server
[root@server1c ~]# ping server.localdomainУзнать имя можно командой hostname

Если, во время пуска сервера мы видим такое сообщение:
# service proftpd start
Starting proftpd service: 2017-08-24 16:21:35,361 '[Ваш хост]' proftpd[11464]:
warning: unable to determine IP address of '[Ваш хост]'
2017-08-24 16:21:35,361 '[Ваш хост]' proftpd[11464]: error: no valid servers configured
2017-08-24 16:21:35,362 '[Ваш хост]' proftpd[11464]: fatal: error processing configuration file '/etc/proftpd.conf'
                                                                                                 [FAILED]

то в файл /etc/hosts необходимо добавить строку по шаблону [Ваш локальный ip адрес] [Ваш хост]
Возможно  скрипт # /etc/chroot.d/resolv.all - решает данную проблему.
« Последнее редактирование: 25.08.2017 08:47:17 от rabochyITs »